[EC-CUBE2.13]初心者のための条件分岐の書き方
- 公開日:2014/11/5
この記事は最終更新日から10年以上が経過しています。
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/です。
フォルダ