テンプレートルート
モジュールやプラグインは、コントロールパネル、または、フロントエンドテンプレート向けに、カスタムの「テンプレートルート」を登録できます。
テンプレートルートは、定義済みのテンプレートパス接頭辞から他のテンプレートにアクセスできる、テンプレートを含むディレクトリです。
例えば、_utils/macros.twig
からアクセスできる共通の Twig ユーティリティマクロを提供するプラグインを作成できます。
そのために、EVENT_REGISTER_SITE_TEMPLATE_ROOTS (opens new window) イベントを使用します。
use craft\events\RegisterTemplateRootsEvent;
use craft\web\View;
use yii\base\Event;
public function init()
{
parent::init();
Event::on(
View::class,
View::EVENT_REGISTER_SITE_TEMPLATE_ROOTS,
function(RegisterTemplateRootsEvent $event) {
$event->roots['_utils'] = __DIR__ . '/template-utils';
}
);
}
新しいコントロールパネルのテンプレートルートを登録する場合、代わりに EVENT_REGISTER_CP_TEMPLATE_ROOTS (opens new window) イベントを使用してください。
# プラグインコントロールパネルのテンプレート
プラグインは自動的に追加され、プラグインハンドルにちなんで名付けられた、プラグインのベースソースフォルダ内にある templates/
フォルダを指す、コントロールパネルのテンプレートルートを取得します。