Pergunta

módulo central Drupal agregador é um útil, mas sofre muitos problemas. Há muitos falando de melhorá-la nos Drupal 7.

Agora eu estou usando agregador módulo que vem com Drupal 6. Eu estou construindo um site de agregação, e há um grande problema. Às vezes alimentos contêm HTML tags de atributos (por exemplo, estilo, dir, título), mas filtro formato de entrada do agregador ignora alguns atributos (por exemplo, estilo e dir) e permite outros (classe e href). Sem alguns atributos alimentações olhar muito mocinha. Agregador contém é formato de entrada própria, ele não usa outros formatos entradas (e isso torna o problema mais difícil!).

A questão é como posso permitir que alguns atributos das tags HTML para aparecer em feeds.

P.S. última coisa a fazer é modificar arquivos centrais da agregador

Foi útil?

Solução

Você pode querer considerar a mudança para uma das soluções mais recentes construídas em cima de FeedAPI

http://drupal.org/node/326601

Como você pode ver a partir daí, este é onde está a ação, agregação-wise.

Outras dicas

Mover para FeedAPI. A única desvantagem para este não está a ter blocos imediatas para diferentes alimentos. No entanto, é possível configurá-los usando nodeblock e incorporação de uma visão no nó de alimentação dos itens de alimentação, que também permite que você use Visualizações e mapeador feedapi para determinar quais informações são exibidas em cada feed.

agregador é apenas um mau módulo para qualquer trabalho pesado com feeds. Ela não oferece a flexibilidade, e não jogar bem com Views. Se você é sério sobre a construção de um site inteiro para a agregação, mude para feedapi, e, em seguida, usar exibições para controlar a exibição dos nós que podem ser criados a partir dos feeds.

Vai levar algum trabalho na frente, mas no longo prazo, você vai salvar-se a dor de cabeça de tentar encontrar a solução de alimentação agregador mística que provavelmente não existe.

Eu há muito que abandonou agregador, mas eu gostaria de encorajá-lo a cavar a fonte para ver qual é o problema. O código da maioria dos módulos do núcleo são muito bem documentado e é a maneira mais fácil de ver como o módulo realmente funciona.

O meu palpite é que ele é ou usando uma seqüência codificada de tags para permitir que, ou ele está pegando carona no formato de entrada Filtered HTML.

curta e simples. Ter um olhar para o aggregator_filter_xss function () em http://api.drupal.org/api/ função / aggregator_filter_xss .

<?php
function aggregator_filter_xss($value) {
  return filter_xss($value, preg_split('/\s+|<|>/', variable_get('aggregator_allowed_html_tags', '<a> <b> <br> <dd> <dl> <dt> <em> <i> <li> <ol> <p> <strong> <u> <ul>'), -1, PREG_SPLIT_NO_EMPTY));
}
?>

Como você pode ver, há uma variável Drupal chamado aggregator_allowed_html_tags .

Você só precisa para torná-lo editável em uma configurações formar a partir de um de seus módulos. Desde que eu não encontrou o que página de administração do Drupal permite editar essa variável, e eu diria que não há.

Aqui está o código que você precisa para o seu módulo personalizado:

function your_module_settings()
{
    $form = array();

    // Params para aggregator
    $form['aggregator_allowed_html_tags'] = array(
        '#type'          => 'textarea',
        '#title'         => t('Core Module Aggregator allowed tags'),
        '#default_value' => variable_get('aggregator_allowed_html_tags', '<a> <b> <br> <dd> <dl> <dt> <em> <i> <li> <ol> <p> <strong> <u> <ul>'),
        '#required'      => TRUE,
        '#description'   => t('Core Module Aggregator allowed tags'),
    );

    return system_settings_form($form);
}

function your_module_menu()
{
    $items = array();

    $items['admin/content/your-module'] = array(
        'title'            => 'My module settings',
        'description'      => 'desc',
        'page callback'    => 'drupal_get_form',
        'page arguments'   => array('your_module_ pasos'),
        'type'             => MENU_NORMAL_ITEM,
    );

    return $items;
}

Espero que seja útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top