開発マトリョーシカ

ショップサーブで商品詳細ページに商品番号を表示する方法

2017.11.08EC

こんにちは。開発マトリョーシカの中の人です。
......前言撤回。開けても開けても開けても開けてもマトリョーシカなので、中の人なんかいません。

さて、今回はECサイトの話。

ショッピングサイトって、使用するサービスによってできることが変わってくるので、何を選ぶかが重要だったりします。
JBNの場合、ちょっと使いづらいけど多機能なショップサーブを採用することが多いです。
FutureShop2を検討したこともあったのですが、カレンダーがなかったり、カテゴリーが手書きだったりするので......。FutureShop2、個人的には好きなんですけどね。管理画面のインタフェースがわかりやすいし、カートが使いやすいし。

そんなわけで、とあるサイトもショップサーブで構築することになったのですが、クライアントからこんな要望が。
「商品番号を表示してほしい」

どうやら、今回の場合、製品名や型番などでやり取りすると、手違いが起きやすいみたいなんですよね。
だから、商品番号でユーザーとやり取りしたいと。

マトリョーシカさん、調べました。
とりあえず、Googleで検索。......有効な情報なし。
ショップサーブのドキュメントを探す。......有効な情報なし。
仕方がないので、商品の「サブ紹介文1」っていうところに書くことにしました。

……うん。これはないわ。
こんな管理しづらいやり方、お天道さんは許してもマトリョーシカさんは許さないわ。

そういうわけで、さらに調べました。
どこにも情報がなければ、長年の経験と勘で生み出すべし!

というわけで、いろいろ試した結果、ついに商品番号を出す方法を見つけてしまいました。
非公式なやり方なので、自己責任でお願いしますね。

デザイン設定 > HTMLのカスタマイズ

で、HTMLをカスタマイズする画面に移動します。
……と、その前に、テーマはカスタムテンプレートにしてくださいね。ベーシックテンプレートだとHTMLのカスタマイズができないので。

そして、商品番号を表示したいところに

{$itemMaster.itemNo}

って書きます。これが商品コードを表示するためのタグです。
なんと、マトリョーシカさんったら、特殊タグを探し出してしまったのです。

メイン紹介文に商品番号を書く場合、こんなふうになります。

コードをコピー&ペーストしたい人のために、以下に書きますね。

<section id="itemDetail-wrap">
    <div id="itemDetail-cont">
        <div class="itemThumb-wrap">&nbsp;</div>
        <div class="itemOutline">{$itemMaster.itemNo}</div>
        {$descparts}
    </div>
    <div class="description">
    {if $itemMaster.description1}
        <p>{$itemMaster.description1}</p>
    {/if}
    </div>
</section>
{if $itemMaster.disp == 'Y'}
    {$apparts}
{/if}
{if $reviewData.conf.status == 'Y' && $itemMaster.comment1 == 'Y' && $reviewData.messageList}
    {$revparts}
{/if}

いかがでしょうか。本来なら、ショップサーブさんが特殊タグの一覧を公開してくれたらいいんですけどね。
ショップサーブさん、お願いしますよー。