カテゴリー階層の表示のさせ方

左図のように行いたい。

各レベルを利用して、簡単なスタイルシートで出来るようにする。

category.tpl

<!–商品カテゴリ開始 –>
<div>
ツꀀ<h6><img src=”<!–{$smarty.const.URL_DIR}–>basic_img/t_cate2.gif” alt=”商品カテゴリ” width=”178″ height=”48″ border=”0″ /></h6>
ツꀀ<!–Level1 –>
ツꀀ<ul>
ツꀀ<!–{section name=cnt loop=$arrTree}–>
ツꀀ<!–{assign var=level value=”`$arrTree[cnt].level`}–>
ツꀀ<!–{assign var=disp_name value=”`$arrTree[cnt].category_name`”}–>
ツꀀ<!–{if $arrTree[cnt].display == 1}–>
ツꀀツꀀ<li>
ツꀀツꀀ<!–{if $tpl_category_id == $arrTree[cnt].category_id }–><strong><!–{/if}–>
ツꀀツꀀ<a href=”<!–{$smarty.const.URL_DIR}–>products/list.php?category_id=<!–{$arrTree[cnt].category_id}–>”><!–{$disp_name|sfCutString:20|escape}–>(<!–{$arrTree[cnt].product_count|default:0}–>)</a>
ツꀀツꀀ<!–{if $tpl_category_id == $arrTree[cnt].category_id }–></strong><!–{/if}–>
ツꀀツꀀ</li>
ツꀀ<!–{/if}–>
ツꀀ<!–{/section}–>
ツꀀ</ul>
</div>
<!–商品カテゴリ終了 –>

ツꀀ

書き出されるHTML(レベル4を選んでるとき)

<div>
ツꀀ<h6><img src=”/basic_img/t_cate2.gif” alt=”商品カテゴリ” width=”178″ height=”48″ border=”0″ /></h6>
ツꀀ<!–Level1 –>
ツꀀ<ul>
ツꀀツꀀツꀀツꀀツꀀツꀀ<li>
ツꀀツꀀツꀀツꀀ<a href=”/products/list.php?category_id=18″>レベル1(1)</a>
ツꀀツꀀツꀀツꀀ</li>
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ<li>
ツꀀツꀀツꀀツꀀ<a href=”/products/list.php?category_id=19″>レベル2(1)</a>
ツꀀツꀀツꀀツꀀ</li>
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ<li>
ツꀀツꀀツꀀツꀀ<a href=”/products/list.php?category_id=20″>レベル3(1)</a>
ツꀀツꀀツꀀツꀀ</li>
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ<li>
ツꀀツꀀ<strong>ツꀀツꀀ<a href=”/products/list.php?category_id=21″>レベル4(1)</a>
ツꀀツꀀ</strong>ツꀀツꀀ</li>
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ<li>
ツꀀツꀀツꀀツꀀ<a href=”/products/list.php?category_id=6″>本(1)</a>
ツꀀツꀀツꀀツꀀ</li>
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀ<li>
ツꀀツꀀツꀀツꀀ<a href=”/products/list.php?category_id=2″>雑貨(1)</a>
ツꀀツꀀツꀀツꀀ</li>
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀ<li>
ツꀀツꀀツꀀツꀀ<a href=”/products/list.php?category_id=1″>タイル(1)</a>
ツꀀツꀀツꀀツꀀ</li>
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀ</ul>
</div>

という風になるので、あとはclassのlevel1等のスタイルシートで設定してやる。

また、このときEC-CUBEのデフォルトの設定では、商品の入っていないカテゴリーは非表示となる。
これは、

frontparts/bloc/category.phpのL22あたり

$objSubPage = lfGetCatTree($category_id, true, $objSubPage);

$objSubPage = lfGetCatTree($category_id, false, $objSubPage);

にすることで設定可能。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です