[EC-CUBE2.13]初心者のための条件分岐の書き方

  • 公開日:2014/11/5
この記事は最終更新日から9年以上が経過しています。

EC-CUBEでページ毎に記述を変えたいときの条件分岐の書き方です。
例えば、site_frame.tplでのmetaタグの記述をトップページ、商品詳細ページ、商品一覧ページで変えるとか、特定のページだけでjsファイルを読み込む、とか。

基本的にはif文を使うことになるので、まずはif文の書き方から。

<!--{if (ここに条件A)}-->
    条件AがTRUEのときの処理
<!--{elseif (ここに条件B)}-->
    条件BがTRUEのときの処理
<!--{else}-->
    それ以外のときの処理
<!--{/if}-->

条件の書き方はそれぞれ以下のようになります。
※テンプレート変数をセットして条件分岐を記述しています。これが実用的かなーと思います。変数など使わんという場合は、条件の値にvalue値を書けばOKです。

■トップページ

<!--{assign var=index value=&quot;`$smarty.const.ROOT_URLPATH`index.php&quot;}-->
<!--{if $smarty.server.PHP_SELF==$index}-->
    トップページでの処理
<!--{/if}-->

■商品一覧ページ

<!--{assign var=list value=&quot;`$smarty.const.ROOT_URLPATH`products/list.php&quot;}-->
<!--{if $smarty.server.PHP_SELF==$list}-->
    商品一覧ページでの処理
<!--{/if}-->

■商品詳細ページ

<!--{assign var=detail value=&quot;`$smarty.const.ROOT_URLPATH`products/detail.php&quot;}-->
<!--{if $smarty.server.PHP_SELF==$detail}-->
    商品詳細ページでの処理
<!--{/if}-->

■マイページ

<!--{assign var=mypage value=&quot;`$smarty.const.ROOT_URLPATH`mypage/index.php&quot;}-->
<!--{if $smarty.server.PHP_SELF==$mypage}-->
    マイページでの処理
<!--{/if}-->

$smarty.const.ROOT_URLPATHは、Smartyのパスで、/html/です。