Domanda

modulo Drupal core Aggregator è un utile uno ma soffre molti problemi. Ci sono molti parlando di migliorarlo in Drupal 7.

In questo momento sto utilizzando il modulo Aggregator che viene fornito con Drupal 6. Sto costruendo un sito di aggregazione, e non c'è un grosso problema. A volte si nutre contenere attributi tag HTML (ad esempio lo stile, dir, titolo), ma il filtro formato di input del Aggregator ignora alcuni attributi (per esempio di stile e di dir) e permette agli altri (classe e href). Senza alcuni attributi feed aspetto molto Missy. Aggregatore contiene proprio formato di input lo è, non fa uso di altri formati di input (e questo rende il problema più difficile!).

La domanda è: come posso permettere attributi alcuni tag HTML ad apparire nei mangimi.

P.S. ultima cosa da fare è modificare i file core di Aggregator

È stato utile?

Soluzione

Si potrebbe prendere in considerazione di trasferirsi a una delle soluzioni più recenti costruite in cima FeedAPI

http://drupal.org/node/326601

Come si può vedere a partire da lì, questo è dove l'azione è, aggregazione-saggio.

Altri suggerimenti

Sposta in FeedAPI. L'unico svantaggio di questo è non avere blocchi immediati per le diverse alimentazioni. Tuttavia, è possibile impostare questi utilizzando nodeblock e l'incorporamento di una vista nel nodo di alimentazione degli elementi del feed, che permette anche di utilizzare Visualizzazioni e feedapi mapper per determinare le informazioni da visualizzare in ogni feed.

Aggregator è solo un brutto modulo per qualsiasi sollevamento di carichi pesanti con i feed. Offre nessuna flessibilità, e non gioca bene con Vista. Se siete seriamente di costruire un intero sito per l'aggregazione, passare a feedapi, e quindi utilizzare una vista per controllare la visualizzazione dei nodi che possono essere creati dai feed.

Ci vorrà un po 'di lavoro davanti, ma a lungo andare, si salva te stesso il mal di testa di cercare di trovare la soluzione aggregatore di feed mistica che probabilmente non esiste.

I da tempo abbandonato Aggregator, ma vi incoraggerei a scavare nella fonte per vedere qual è il problema. Il codice della maggior parte dei moduli di base sono piuttosto ben documentato ed e 'il modo più semplice per vedere come il modulo funziona realmente.

La mia ipotesi è che si sia utilizzando una stringa hardcoded di tag per consentire, o è bagarinaggio sul Formato input.

breve e semplice. Date un'occhiata alla funzione aggregator_filter_xss () a http://api.drupal.org/api/ funzione / 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));
}
?>

Come si può vedere c'è una variabile Drupal chiamato aggregator_allowed_html_tags .

Hai solo bisogno di renderlo modificabile su un impostazioni formano da uno dei vostri moduli. Dal momento che non ho trovato che pagina di amministrazione Drupal consente di modificare questa variabile, e direi che non c'è.

Ecco il codice è necessario per il modulo personalizzato:

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;
}

Spero che sia utile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top