EC-CUBEで商品カテゴリを全て表示させる方法

Posted by specterant on 2012.07.20

タイトル通り、全て表示させる方法です。
通常、親カテゴリページに遷移したら、
子カテゴリが表示される設定になっています。
常に、子カテゴリも表示させたいんだよ〜って時のカスタムです。

はい。そんな訳で、変更箇所は「/data/Smarty/templates/default/frontparts/bloc/category.tpl」です。
※ちなみに、EC-CUBE 2.12.1で検証しています。

/* //////////////////////////////////////////////////////////////////////////////
// 【1】と【2】を削除
////////////////////////////////////////////////////////////////////////////// */
<script type="text/javascript">//<![CDATA[
$(function(){
	$('#category_area li.level1:last').css('border-bottom', 'none');
});
//]]></script>
<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>
			<!--{strip}-->
			<ul id="categorytree">
				<!--{assign var=preLev value=1}-->
				<!--{assign var=firstdone value=0}-->
				<!--{section name=cnt loop=$arrTree}-->
				<!--{* 表示フラグがTRUEなら表示 *}-->
				<!--{if $arrTree[cnt].display == 1}--> // →→→→→→→→→→→→→→→→【1】
				<!--{assign var=level value=`$arrTree[cnt].level`}-->
				<!--{assign var=levdiff value=`$level-$preLev`}-->
				<!--{if $levdiff > 0}-->
				<ul>
				<!--{elseif $levdiff == 0 && $firstdone == 1}-->
				</li>
				<!--{elseif $levdiff < 0}-->
				<!--{section name=d loop=`$levdiff*-1`}-->
				</li>
				</ul>
				<!--{/section}-->
				</li>
				<!--{/if}-->
				<li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
				<p><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a></p>
				<!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}-->
				<!--{assign var=preLev value=`$level`}-->
				<!--{/if}--> // →→→→→→→→→→→→→→→→【2】
				<!--{* セクションの最後に閉じタグを追加 *}-->
				<!--{if $smarty.section.cnt.last}-->
				<!--{if $preLev-1 > 0}-->
				<!--{section name=d loop=`$preLev-1`}-->
				</li>
				</ul>
				<!--{/section}-->
				</li>
				<!--{else}-->
				</li>
				<!--{/if}-->
				<!--{/if}-->
				<!--{/section}-->
			</ul>
			<!--{/strip}-->
		</div>
	</div>
</div>
ちと、分かりづらいので、
【1】と【2】をピックアップしました。
// <!--{* 表示フラグがTRUEなら表示 *}-->の下部分の記述を削除
<!--{if $arrTree[cnt].display == 1}--> // →→→→→→→→→→→→→→→→【1】

// <!--{* セクションの最後に閉じタグを追加 *}-->の上部分の記述を削除
<!--{/if}--> // →→→→→→→→→→→→→→→→【2】
まぁ〜、上記の2箇所を削除すれば、全て表示されます。

No comments yet.

Write a comment:

WP-SpamFree by Pole Position Marketing