インクルードの書き方
Twigでのインクルードの書き方について解説します。(Twig標準の仕様に従います)
基本的なインクルード
include関数を使ってテンプレートをインクルードします。
{{ include('/path/to/parts.twig') }}
変数を渡す
インクルードするテンプレートに変数を渡したい場合は、第2引数として変数を渡します。
{{ include('/path/to/parts.twig', { title: 'タイトルです' }) }}
このように書くことで、/path/to/parts.twig
内で title
変数が使えるようになります。
ファイルが存在しない場合のエラー回避
従来のインクルード文だと、インクルードするファイルがない場合でもエラーは発生しませんでしたが、Twigのインクルードはファイルが存在しない場合エラーが出力されます。
インクルードするファイルが存在しない場合にエラーを回避するには、第3引数にtrueを渡してignore_missingオプションを有効にします。
{{ include(/path/to/parts.twig', {}, true) }}
or
{{ include('/path/to/parts.twig', {}, ignore_missing = true) }}
インクルード文の中にはグローバル変数以外にも全ての変数が利用できます。
従来のインクルードだと、インクルードパス内に利用できる変数はグローバル変数かつ特定のものに制限されていましたが、Twigのインクルードはすべての変数をインクルードパスに含めることが可能です。
{% set filename = 'hoge' %}
{{ include('/include/' ~ filename ~ '.twig', ignore_missing = true) }}