web-dev-qa-db-ja.com

コンテンツプラグインの$ contextパラメータはどういう意味ですか?

$contextパラメータは次のとおりです。

「プラグインに渡されるコンテンツのコンテキスト-これはコンポーネント名とビュー-またはモジュールの名前(例:com_content.article)」

https://docs.joomla.org/Plugin/Events/Content

どういう意味ですか? モジュールおよびその他のコンポーネントを操作できますか?コンテンツプラグインからのcom_contentへの追加。コードの例を提供できますか?

5
stckvrw

$contextパラメータを使用して、特定の状況でプラグインを実行するかどうかを定義できます。たとえば、カテゴリのブログを表示するときはプラグインを実行し、記事全体を表示するときは実行しないようにすることができます。

if ($context == "com_content.category") {
    // Your code for category blog here
}

使用可能なコンテキストの一部は次のとおりです。

  • com_content.category
  • com_content.article
  • com_content.featured
  • com_contact.category.title
  • com_tags.tag

(リストには、クイックテストで確認できたコンテキストのみが含まれています。さらに追加してください)

小さなプラグインを作成して、さまざまなコンテキストを表示できます。

<?php
// no direct access
defined('_JEXEC') or die;

class plgContentContext extends JPlugin
{
    public function onContentPrepare($context, &$article, &$params)
        {
            echo '<h3 style="color:white;background:red">' . $context . '</h3>';
        }
}
?>
3
johanpw

OnContentPrepareイベントを使用する任意のコンポーネントを変更できます。Joomla3.4.4でクイック検索を実行し、com_config、com_content、com_tags、com_usersで使用されています。

どの拡張機能も、このプラグイントリガーの使用を選択できます。

2
jdog