[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="`$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/
です。