0

Joomla プラグイン構成が保存されているときにいくつかのコードを実行しようとしています。ドキュメントを調べて、そこにあるすべてのコンテンツ イベントを試しましたがdie();、何もトリガーされません。

public function onContentAfterSave($context, $article, $isNew)
    {
        die();
    }

どうすればこれを達成できるか誰か指摘できますか?

4

1 に答える 1

0

onContentBeforeSave は、その名前が示すとおり、プラグイン構成ではなくコンテンツを保存する前に起動します。保存されたプラグイン構成をキャッチするために、利用可能な Joomla イベントがありません。

したがって、アドミニストレーターでページをロードするたびにプラグイン構成が変更されたかどうかを確認できます。シーケンスは次のようになります。

プラグイン onContentBeforeDisplay (またはビジネス ロジックに必要のないその他のイベント) は、管理者のみで実行されます (これはデフォルトの動作ではありません。サイトの速度低下を避けるために、フロントエンドであるかどうかを確認して終了する必要があります)。そのイベント ハンドラーで、カスタム構成フィールドを確認します。これを実現するには、プラグイン構成にカスタム (隠し) 値を挿入するだけです。イベントが発生したら、プラグイン構成を読み込み、それがデフォルト値かどうかを確認し、構成オブジェクトから削除して、データベースに再度保存します。そのため、次にユーザーがロードすると、再び変更され、デフォルト値が設定されます。良くありませんが、うまくいきます。

于 2013-05-10T07:36:27.060 に答える