【EC-CUBE】Twigブロック間のパラメータ受け渡し方法

スポンサーリンク

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、空文字、空配列など)かどうかを確認

これらの演算子を組み合わせることで、渡されたパラメータの状態に応じて柔軟な処理を実装することができます。

 

コメント

タイトルとURLをコピーしました