すばらしいソースをありがとうございます。
早速利用させていただいております。
カテゴリ表示ブロック(include/bloc/category.tpl)ですが、カテゴリ階層が3階層以上になると表示がおかしくなるようでした。
一応、無い知識を搾り出して考えてみました。
↓のような感じではどうでしょうか?
引用:
<!--{section name=cnt loop=$arrTree}-->
<!--{assign var=plevel value="`$arrTree[cnt.index_prev].level`"}-->
<!--{assign var=level value="`$arrTree[cnt].level`"}-->
<!--{assign var=nlevel value="`$arrTree[cnt.index_next].level`"}-->
<!--{assign var=disp_name value="`$arrTree[cnt].category_name`"}-->
<!--{if $arrTree[cnt].display == 1}-->
<!--{if $level == 1 && $smarty.section.cnt.first}-->
<ul class="fs12">
<!--{elseif $level == 1 && !$smarty.section.cnt.first}-->
</ul></ul><ul class="fs13">
<!--{elseif $plevel < $level}-->
<ul>
<!--{/if}-->
<!--★アイコン★-->
<!--{if $tpl_category_id == $arrTree[cnt].category_id || $root_parent_id == $arrTree[cnt].category_id}-->
<li class="on">
<!--{else}-->
<li class="off">
<!--{/if}-->
<!--★カテゴリ項目★-->
<!--{if $tpl_category_id == $arrTree[cnt].category_id }-->
<a href="<!--{$smarty.const.URL_DIR}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"><span class="redst"><!--{$disp_name|sfCutString:20|escape}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</span></a>
<!--{else}-->
<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}-->
<!--{if $level > $nlevel || $arrTree[cnt.index_next].display == 0}-->
<!--{section name=n loop=`$level-2`}--></li></ul><!--{/section}-->
<!--{elseif $level == $nlevel}-->
<!--{/if}-->
<!--{if $tpl_category_id == $arrTree[cnt].category_id || $root_parent_id == $arrTree[cnt].category_id}-->
<!--{else}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{/section}-->
間違っている箇所がありましたらご指摘ください。