マルチリンガルカートは「Smarty」と呼ばれるテンプレートエンジンを使用し、柔軟なテンプレートの作成・適用を可能にしています。
デザインを作成する際は、「テンプレートカスタマイズの基礎」でご紹介したif関数やSection関数のほかに、
SmartyやPHPに由来する3つの関数が使用できます。
※ここに記載した以外の、SmartyやPHPの関数の利用にはセキュリティ上の理由から制限があります。
indent
この関数は文字列をインデント(字下げ)します。
全商品カテゴリを表示するときに、小分類のカテゴリをインデントするために使用しています。
使用例:トップページの商品カテゴリ表示の抜粋
<{section name=key loop=$genre}><br />
<dd><{'・'|indent:$genre[key].indent:' '}><a href="<{$genre[key].url}>"><{$genre[key].name}></a></dd><br />
<{/section}>
上記の例文では、$genre[key].indent の数だけ、’ ’でインデント後、’・’を表示します。
$genre[key].indent は、該当カテゴリが大分類の場合は0、小分類の場合は1です。
mb_truncate
指定した文字数で、変数の値を切り捨てます。商品説明文など、長いテキストを一覧表示に出力する際に、適切な文字数を取り出すことができます。
使用例:トップページの商品説明文の抜粋
<{$goodslist[key].setsumei|mb_truncate:50}>
上記の例文では、商品説明文の先頭文字50文字を表示します。
count
変数(配列)に含まれる要素数をカウントします。
使用例:トップページの商品一覧
<{if count($goodslist) > 0}>
上記の例文は、商品がある時に商品一覧を表示し、無い時は、”商品がありません”のメッセージを表示するための判定文として使用しています。
また、カートの中身の有り無しによって表示を変えたい時などに使用できます。