▼テンプレート
[EC-CUBE] 2.1.3
[レンタルサーバ] CPI
[PHP] 5.6
カートセッションから、カートに入っている商品情報を取得し、
ログイン画面で、商品規格の条件分岐を行い、商品によってメッセージを表示する or 表示しないという条件を作っております。
// $arrCartItemsは、LC_Page_shopping.phpを下記コードを挿入しカスタマイズしました。
$this->arrCartItems = $objCartSess->getCartList($this->cartKey);
// confirm.tplを参照に、下記コードからカートに入っている各商品の商品規格を取り出すことができました。下記は、規格名を出力しています。
下記は、規格名表示のみです。
<!--{foreach from=$arrCartItems item=item}-->
<!--{if $item.productsClass.classcategory_name1 != ""}-->
<!--{$item.productsClass.class_name1|h}-->
<!--{/foreach}-->
下記が、shopping/index.tplのデータの、条件分岐箇所です。 in_arrayを使っても正常に配列内の値をチェックできません。
<!--{foreach from=$arrCartItems item=item}-->
<!--{if '定期商品'|in_array:$arrCartItems}-->
<p><font color="red">定期コースの商品がカートにあるため、会員登録を行っていただく必要があります。</strong></p>
<!--{else}-->
<h4>会員登録をせずに購入手続きへ進む</h4> <p class="inputtext">会員登録をせずに購入手続きをされたい方は、下記よりお進みください。</p> <form name="member_form2" id="member_form2" method="post" action="?"> <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> <input type="hidden" name="mode" value="nonmember" /> <div class="inputbox"> <div class="btn_area"> <ul> <li> <input type="image" class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_buystep.jpg" alt="購入手続きへ" name="buystep" id="buystep" /> </li> </ul> </div> </div> </form> <!--{/if}-->
smartyでin_arrayを使い
条件分岐する方法を教えてください!