it-swarm.dev

Trigger onContentPrepare dalla vista Blog categoria

Ho trovato questa pagina su come implementare un campo personalizzato nell'articolo:

http://docs.joomla.org/Adding_custom_fields_to_the_article_component

e funziona bene, ma solo in article view.

Che cosa devo fare altrimenti, per mostrare il campo personalizzato in ogni articolo, quando in category blog vista?

Ho provato ad aggiungere:

$dispatcher = JDispatcher::getInstance();
JPluginHelper::importPlugin('content', 'plg_content_rating');
$results = $dispatcher->trigger('onContentPrepare', array('com_content.category', & $this->item, &$this->item->params, 0));

al mio category blog sovrascrive il file, ma non ha funzionato.

Anche in components/com_content/views/category/view.html.php file, esiste una riga come questa:

$results = $dispatcher->trigger('onContentPrepare', array ('com_content.category', &$item, &$this->params, 0));

Non dovrebbe già innescare tutti i plugin di contenuti registrati?

La linea simile in article's view.html.php file, funziona bene a tale scopo.

5
branquito

Dipende dalle tue intenzioni.

Se si utilizza onContentPrepare per manipolare il markup, è necessario utilizzare l'ambito giusto. MyPlugin :: onContentPrepare verrà sempre attivato se il plug-in è caricato e un dispatcher attiva "onContentPrepare".

Ma di solito verificherai come l'ambito

public function onContentPrepare($context, &$row, &$params, $page = 0)
{
    if (in_array($context, array('com_content.article'))
    {
        return true;
    }
}

Quindi assicurati di usare gli ambiti giusti.

Se vuoi solo visualizzare i dati personalizzati all'interno di una sovrascrittura, puoi semplicemente accedervi con $ item.

2
Nils Rückmann