IT女子のお気に入りフォルダ

管理人の備忘録と実践を兼ねた(出来るだけ)役に立つ情報を配信するブログです。

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

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="`$smarty.const.ROOT_URLPATH`index.php"}-->
<!--{if $smarty.server.PHP_SELF==$index}-->
    トップページでの処理
<!--{/if}-->

■商品一覧ページ

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

■商品詳細ページ

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

■マイページ

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

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