EC-CUBEでは、Twigテンプレート内でinclude文を使用することで、他のテンプレートファイル(.twig)を取り込むことができます。
本記事では、ブロックをincludeする際のパラメータの受け渡し方法と、受け取ったパラメータの判定方法について解説します。
パラメータの受け渡し方法
呼び出し元でのパラメータ設定
{# 単一のパラメータを渡す #} {% include 'Block/hoge.twig' with {'param': 'value'} %} {# 複数のパラメータを渡す #} {% include 'Block/hoge.twig' with { 'param1': 'value1', 'flag': true, 'count': 5 } %}
受け取り側(hoge.twig)でのパラメータ判定
{# 変数の存在確認 #} {% if param is defined %} {# paramが渡された場合の処理 #} {{ param }} {% endif %} {# 条件分岐の例 #} {% if flag is defined and flag == true %} {# flagがtrueの場合の処理 #} {% else %} {# flagがfalseまたは未定義の場合の処理 #} {% endif %} {# デフォルト値を設定する場合 #} {% set count = count|default(10) %} {# countが渡されなかった場合は10が設定される #} {# 複数条件の組み合わせ #} {% if param1 is defined and param1 == 'value1' %} {# 特定の値の場合の処理 #} {% elseif count > 3 %} {# count値による分岐 #} {% else %} {# それ以外の場合 #} {% endif %}
パラメータ判定で使用できる主な演算子
- is defined: 変数が定義されているかを確認
- |default(): デフォルト値を設定
- is null: null値かどうかを確認
- is empty: 空(null、空文字、空配列など)かどうかを確認
これらの演算子を組み合わせることで、渡されたパラメータの状態に応じて柔軟な処理を実装することができます。
コメント