it-swarm.dev

カテゴリブログビューからのonContentPrepareのトリガー

私は記事にカスタムフィールドを実装する方法に関するこのページを見つけました:

http://docs.joomla.org/Adding_custom_fields_to_the_article_component

そしてそれはうまくいきますが、articleビューでのみです。

category blogビューで各記事のカスタムフィールドを表示するには、他に何をすべきですか?

追加してみました:

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

category blogオーバーライドファイルに追加しましたが、機能しませんでした。

また、components/com_content/views/category/view.html.phpファイルには、次のような行があります。

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

登録済みのすべてのコンテンツプラグインをトリガーする必要はありませんか?

article'sview.html.phpファイル内の同様の行は、その目的に適しています。

5
branquito

それはあなたの意図次第です。

OnContentPrepareを使用してマークアップを操作する場合は、適切なスコープを使用する必要があります。 MyPlugin :: onContentPrepareは、プラグインが読み込まれ、ディスパッチャーが「onContentPrepare」をトリガーすると常に起動されます。

しかし、通常は次のようなスコープに対してチェックします

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

したがって、正しいスコープを使用していることを確認してください。

上書き内にカスタムデータを表示したいだけの場合は、$ itemでアクセスできます。

2
Nils Rückmann