Twig記法と従来記法の併用について


Twigが有効なテーマでは、Twig記法と従来のテンプレート記法を混在させて記述できます。
ただし、テンプレートの解決順により、特定の組み合わせでは記法が正しく反映されない場合があります。

テンプレートの解決順

Twigが有効な場合、テンプレートは以下の順序で解決されます。

  1. Twigによる記述の解決
    {% include %}{% extends %} など、Twigの構文を含む部分が先に処理されます)

  2. Twigが解決された後に、従来のテンプレート記法が解決される
    @include@extends など、従来の構文が後から処理されます)

このため、処理順の都合で、テンプレートが正しく解決されないパターンがあります。

テンプレートが解決されないパターン

  • 従来の @include で読み込んだテンプレートにあるTwig記法は解決されない

  • 従来の @extends で継承したテンプレート以下にあるTwig記法は解決されない

  • 従来の @extends で継承されているテンプレートは、Twig記法でインクルード出来ない


簡単に整理すると、Twigが先に解決されるため、従来記法によるインクルードやテンプレート継承されたテンプレートでは、Twig記法は使えないということになります。逆にいうとルートテンプレートからTwigによるテンプレート継承や、インクルードがされていれば、従来記法と併用が可能です。