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、空文字、空配列など)かどうかを確認
これらの演算子を組み合わせることで、渡されたパラメータの状態に応じて柔軟な処理を実装することができます。

 
 

コメント