Blog

【ECCUBE2.13】カテゴリブロックで子カテゴリを常時表示

2016/02/08

ECCUBE2.13

カテゴリブロックで子カテゴリを常時表示について、
2.13ではカスタム方法が違います。

参考サイト
カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について

2.13では、category.tplでcategory_tree_fork.tplを読み込む仕様になっています。

まず、category_tree_fork.tplに下記ソースコードを貼り付けます。

<!--{strip}-->
<ul <!--{if $treeID != ""}-->id="<!--{$treeID}-->"<!--{/if}--> style="<!--{if !$display}-->display: none;<!--{/if}-->">
<!--{foreach from=$children item=child}-->
<li class="level<!--{$child.level}--><!--{if in_array($child.category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
<p><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$child.category_id}-->"<!--{if in_array($child.category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$child.category_name|h}-->(<!--{$child.product_count|default:0}-->)</a></p>
<!--{if $child.level<$disp_level}--> //ここが変更箇所
<!--{assign var=disp_child value=1}-->
<!--{else}-->
<!--{assign var=disp_child value=0}-->
<!--{/if}-->
<!--{if isset($child.children|smarty:nodefaults)}-->
<!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/bloc/category_tree_fork.tpl" children=$child.children display=$disp_child disp_level=$disp_level}-->
<!--{/if}-->
</li>
<!--{/foreach}-->
</ul>
<!--{/strip}-->

つぎに、category.tplへ下記ソースコードを貼り付けます。

<!--{strip}-->
<div class="block_outer">
<div id="category_area">
<div class="block_body">
<h2><img src="<!--{$TPL_URLPATH}-->img/title/tit_bloc_category.gif" alt="商品カテゴリ" /></h2>
<!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/bloc/category_tree_fork.tpl" children=$arrTree treeID="" display=1 disp_level=1}-->
</div>
</div>
</div>
<!--{/strip}-->

disp_level=1の数値を変更することにより、子カテゴリ、孫カテゴリなどを表示できます。

disp_level=1・・・1階層まで展開(デフォルト状態)
disp_level=2・・・2階層まで展開
disp_level=3・・・3階層まで展開
disp_level=4・・・4階層まで展開
disp_level=5・・・5階層まで展開

カテゴリー

月間アーカイブ

MORE

ミュージシャンズ・プラザ

神社仏閣ホームーページ制作

ホームページ制作問合せ