特定のカテゴリまたはブランドを指定して商品のリストを取得するサンプルスクリプトをご紹介します。
「お勧め商品リスト」「関連商品リスト」「ランキング」等への応用が可能です。
任意の場所に、複数商品の情報を表示します。
本稿の場合はお知らせの中にピックアップします。
複数の商品情報の取得(get_goods_list関数)
本稿のサンプルスクリプトでは、複数の商品を取得するための約束毎(関数)を使用します。
以下のサンプルおよびパラメータの説明に従い利用してください。
<{get_goods_list
goods_lang_list_elm_prefix='goodslist_sercch_'
max_count='20'
genre_id='1'
brand_id=''
brand_name=''
lang_id='en'
tsuka_conv='JPY'}>
関数のパラメータ(検索条件)
※genre_id、brand_id、brand_name、lang_id、tsuka_convの条件は、And条件で検索が行われます。
検索結果
$goods_lang_list
複数の商品情報を持つ検索結果が入る器(変数)です。
読み込んだ商品情報の表示
お知らせにピックアップを追加するため、「トップ」のデザインテンプレートを編集します。
以下のサンプルに従い、青字部分を追加してください。
赤字:前節の関数部分
以下の例では、assignメソッドを使い、goods_lang_list_elm_prefixに予め'goodslist_sercch_'を設定する方法を使用しています。
青字:ピックアップ表示の追加部分
※必ず関数よりも下に追加してください。
<!-- お知らせ -->
<{if !$genre_id && !$act}>
<div class="title">お知らせ</div>
<{$top_info}>
<{/if}>
<!-- カテゴリ、ブランド指定の商品一覧 -->
<{assign var="goods_lang_list_elm_prefix" value="goodslist_sercch_"}>
<{get_goods_list
goods_lang_list_elm_prefix=$goods_lang_list_elm_prefix
max_count='20'
genre_id='1'
brand_id=''
brand_name=''
lang_id='en'
tsuka_conv='JPY'}>
<{if count($goods_lang_list) > 0}>
<!-- 商品一覧 -->
<{section name=key loop=$goods_lang_list}>
<!-- 1商品ずつの定義 -->
<div class="goodslist_box">
<table border="0" width="550"><tr valign="top">
<td width="110" align="center">
<div class="thumbnail">
<a href="<{$goods_lang_list[key].url}>">
<{if $goods_lang_list[key].thumbnail}>
<img src="<{$goods_lang_list[key].thumbnail}>">
<{else}>
<img src="/tpl_img/proto_ja/nopic100.gif">
<{/if}>
</a></div></td>
<td>
<a href="<{$goods_lang_list[key].url}>">
<{$goods_lang_list[key].name}>
<{if $goods_lang_list[key].num != ''}>
(<{$goods_lang_list[key].num}>)
<{/if}>
</a>
<{if $goods_lang_list[key].embargo}>
*国外配送不可
<{/if}><br>
掲載日:<{$goods_lang_list[key].keisaibi}><br>
<br>
在庫状況:[<{$goods_lang_list[key].zaiko_type_title}>]
<{if $goods_lang_list[key].zaiko_type_title == "in stock"}>
在庫あり
<{elseif $goods_lang_list[key].zaiko_type_title == "out of stock"}>
在庫なし
<{elseif $goods_lang_list[key].zaiko_type_title == "available for order"}>
取り寄せ
<{elseif $goods_lang_list[key].zaiko_type_title == "preorder"}>
予約
<{else}>
-
<{/if}>
<br>
<span id="<{$goods_lang_list_elm_prefix}><{$goods_lang_list[key].sku_goods_key}>_price">
<{$goods_lang_list[key].price}></span> <{$tsuka_tani}>(日本国内価格)/
<span id="<{$goods_lang_list_elm_prefix}><{$goods_lang_list[key].sku_goods_key}>_price2">
<{$goods_lang_list[key].price2}></span> <{$tsuka_tani}>(日本国外価格)<br>
<{$goods_lang_list[key].setsumei|mb_truncate:50}>
</td>
</tr></table>
</div>
<!--// 1商品ずつの定義 -->
<{/section}>
<!--// 商品一覧 -->
<{/if}>
<!--// カテゴリ、ブランド指定の商品一覧 -->
<!--// お知らせ -->