Pregunta

El módulo principal de Drupal Aggregator es útil pero sufre muchos problemas.Hay muchos hablando de mejorarlo en Drupal 7.

En este momento estoy usando el módulo Aggregator que viene con Drupal 6.Estoy creando un sitio de agregación y hay un GRAN problema.A veces, los feeds contienen atributos de etiquetas HTML (p. ej.style, dir, title), pero el filtro de formato de entrada del Aggregator ignora ALGUNOS atributos (p. ej.style y dir) y permite otros (class y href).Sin algunos atributos, los feeds se ven muy desordenados.Aggregator contiene su propio formato de entrada, no utiliza otros formatos de entrada (¡y esto complica el problema!).

La pregunta es ¿cómo puedo permitir que los atributos de algunas etiquetas HTML aparezcan en los feeds?

PDLo último que hay que hacer es modificar los archivos principales de Aggregator.

¿Fue útil?

Solución

Es posible que desee considerar la posibilidad de trasladarse a una de las más nuevas soluciones construidas sobre FeedAPI

http://drupal.org/node/326601

Como se puede ver a partir de ahí, ahí es donde está la acción, la agregación se refiere.

Otros consejos

Vaya a FeedAPI.La única desventaja de esto es no tener bloques inmediatos para diferentes feeds.Sin embargo, es posible configurarlos usando nodeblock e incrustando una vista en el nodo de feed de los elementos del feed, lo que también le permite usar Vistas y feedapi mapper para determinar qué información se muestra en cada feed.

Aggregator es simplemente un mal módulo para cualquier trabajo pesado con feeds.No ofrece flexibilidad y no funciona bien con Vistas.Si realmente quiere crear un sitio completo para la agregación, cambie a feedapi y luego use vistas para controlar la visualización de los nodos que se pueden crear a partir de los feeds.

Requerirá algo de trabajo desde el principio, pero a la larga, se ahorrará el dolor de cabeza de intentar encontrar la solución del agregador de feeds místico que probablemente no existe.

Me hace tiempo que abandonó agregador, pero les animo a excavar en la fuente para ver cuál es el problema. El código de la mayoría de los módulos básicos están bastante bien documentado y es la forma más fácil de ver cómo el módulo funciona realmente.

Mi conjetura es que está bien poniendo una cadena codificada de etiquetas para esto, o se lleva a cuestas en el Formato de entrada.

corto y simple. Echar un vistazo a la aggregator_filter_xss función () en http://api.drupal.org/api/ función / 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 se puede ver que hay una variable Drupal llamado aggregator_allowed_html_tags .

Sólo es necesario para que sea editable en una configuración forman a partir de uno de sus módulos. Como yo no encontré lo que la página de administración de Drupal permite editar esta variable, y yo diría que no es.

Aquí está el código que necesitará para su 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 sea útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top