複数のプラグインが同じイベント・フックをリッスンしている場合(詳しくはプラグイン > イベントフック)のページを参照)、さまざまなハンドラが "優先順位" の順に実行されます。優先順位は、単純に数字で表されます。数字が大きいほど、そのハンドラは早く実行されます。
まれに、ユーザーが特定のハンドラの優先順位を調整する必要がある場合があります。これは、オリジナルのプラグインのコードに触れることなく行うことができます。
まず、どのハンドラをどのように調整する必要があるのかを正確に判断します。これは高度な作業で、プラグインの .php
ファイルを読むことができる必要があります。通常、イベントフック、ハンドラ関数、デフォルトの優先順位は、プラグインの onPluginsInitialized()
関数で見つけることができます。
次に、user/config/priorities.yaml
というファイルを作成します。データは以下のような構造になります。
pluginName:
eventName:
handlerName: [integer]
So for example, let's say you have a plugin called essential
that listens to the onPageInitialized
event, triggering the function handlePage
with a priority of 0. Let's then say you discover that you need that priority to be 100
to make sure it executes before some other plugin. You would add the following to your user/config/priorities.yaml
file:
たとえば、essential
というプラグインがあり、onPageInitialized
イベントをリッスンして、優先度 0 で関数 handlePage
をトリガーしているとします。他のプラグインの前に実行されるようにするには、優先度を 100
にする必要があり、user/config/priorities.yaml
ファイルに以下の内容を記述します。
essential:
onPageInitialized:
handlePage: 100
オリジナル : https://learn.getgrav.org/16/advanced/plugin-prioritization