サポート担当の井上です。Twigテンプレートファイルを操作する場合、利用可能な変数はテンプレートファイルのコメントに記載されます。記載されていなかったり、テーマやモジュールで、別途変数定義されている場合、テンプレート内で利用可能な変数を検出する必要があります。Twigでは、dump()関数を使って、テンプレートファイルで利用可能な変数を検出できます。2017年11月13日dump()関数は、デバッグが有効になっていないと使用できません。(参考:Twigでデバッグを有効にする方法)有効になると、dump()関数は、テンプレート内の1つまたは複数の変数の情報を出力します。1つの変数を検出するテンプレートで利用可能な変数「title」がある場合、次のコードで、その内容がテンプレートに出力されます。}}テンプレート内の利用可能な変数をすべて検出する利用可能なすべての変数とその内容をテンプレートに出力するには、(デバッグを有効にした後で)テンプレートに次の行を追加します。}}Twigで利用可能な変数名のみを出力するには、以下を使用します。現在のテンプレートに関する詳細な情報、コンパイルされたテンプレートクラス名とTwig環境に関する情報を参照します。「_self」変数は廃止され、Twigバージョン2.xから削除されました。現在のコンテキストや、theme()から送られた変数、前処理で準備された変数、テンプレート内で設定された変数など、テンプレートに渡されるすべての変数を参照します。変数を指定した場合は、同じ結果が出力されます。現在の文字セットを参照します。dump()を使用する際の注意点すべての変数を出力したいが、再帰などで、dump()がメモリを使い果たす場合は、_context変数をループさせることで、すべてのキー(変数名)を表示可能です。ような条件を指定し、条件に合う場合のみその値を出力することも可能です。詳しくは詳細は、Twigのdump関数ドキュメントを参照してください。使ったデバッグデバッグ方法には、xdebugプラグインをIDE内で使用することをお勧めします。PHPstorm(商用ソフトウエア)では、xdebugを簡単に導入できます。VSCodeは、商用ソフトウェアではなく、同等の機能のプラグインがある無料のオープンソースIDEです。xdebugを使用すると、プロセスを段階的に実行し、変数の内容を出力し、dump、kintの使用時に発生するかもしれない無限ループを防ぐと同時に、隠れたバグを解消することが可能です。twig_xdebugモジュールは、xdebugを使い、利用可能な変数を出力します。使ったデバッグTwigのdump()機能は、ページ内にたくさんのテキストを出力することが多く、その中から使用したい変数を探すのが大変です。kintは、dump()の代わりに使えます。kint()関数はdump()関数と同じように機能し、さらに、出力される変数を、折りたたんで展開可能な状態で出力します。KINTモジュールがあります。develモジュールをダウンロードします。kint"モジュールをインストールします。dump関数と同様、kint()もデバッグが有効になっていないと変数を表示しません。(参考:Twigでデバッグを有効にする方法)Twigファイルでは、dump()と同様、kint()で変数を検出します。Kintモジュールをダウンロード・インストールして、ネストされた変数リストを検索します。メソッドとクラスのホワイトリストポリシーオブジェクトを扱う際には、TwigSandboxPolicyクラスから、getter、setter、オブジェクトの特定セットの呼び出しを、ホワイトリストに入れます。これは、誤ったメソッドがテンプレート内で呼び出されないようにするためです。}}メソッドは、ホワイトリストが設定されてない場合、そのノードを削除する可能性があるためです。settings.phpへ以下のように追記することで、ホワイトリストを拡張することができます。'referencedEntities',];'referencedEntities'のように、テンプレート内で使用したいメソッドを指定します。InoueANNAI株式会社マーケティングマネージャーサービスの設計・企画、マーケティング、採用戦略の立案などを担当。普段は新潟で猫と一緒に、時々海外からリモートで働いています。好きなモジュールはRulesとFlagです。themingの記法の比較Twigテンプレートの変数のデバッグウェブサイトに関することならお気軽にご相談くださいお問い合わせお見積のご依頼や詳しい内容のご相談、取材などに関することはお問い合わせをご利用ください。