只显示当前产品分类的问题

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家



产品只有一级分类和二级分类,一级分类全部在导航栏显示了,我想在客户点击一级分类后,左侧只显示当前分类的二级分类,在网上找到了个方法:
http://www.8gwl.com/index.php/133
这个方法中,在点击某个二级分类的时候,会进入三 级分类,没有三 级分类就只显示这个点击了的二级分类菜单,我希望在点击某个二级分类的时候,还是只显示一级分类下的所有二级分类,就是把一级分类下的所有二级分类固定(而不是进入三 级分类,没有三 级分类就只显示这个点击了的二级分类菜单),我想应该是判断的问题,请问这个要怎么改才行?

代码如下:
修改方法是在category.php,将
// $smarty->assign('categories', get_categories_tree($cat_id)); // 分类树
注释起来,然后添加一个:
$arr_categories_tree = get_categories_tree($cat_id);
$sql = 'SELECT * FROM '.$ecs->table('category')." WHERE parent_id = '$cat_id' AND is_show = 1 ";
if ($db->getOne($sql)) {
$smarty->assign('yyy', array($cat_id=>$arr_categories_tree[$cat_id])); // 分类树
} else {
$smarty->assign('yyy', array($cat['parent_id']=>$arr_categories_tree[$cat['parent_id']])); // 分类树
}

再到\themes\default\category.dwt文件中删掉
<div class="box">
......
</dl>

然后将\themes\default\library\category_tree.lbi中的内容改为
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<div class="box">
<div class="box_1">
<div id="category_tree">{$kkkke}
<!--{foreach from=$yyy item=cat}-->
<dl>
<dt><a href="{$cat.url}">{$cat.name|escape:html}</a></dt>
<!--{foreach from=$cat.cat_id item=child}-->
<dd><a href="{$child.url}">{$child.name|escape:html}</a></dd>
<!--{foreach from=$child.cat_id key=key item=childer}-->
<dd><a href="{$childer.url}">{$childer.name|escape:html}</a></dd>
<!--{/foreach}-->
<!--{/foreach}-->
</dl>
<!--{/foreach}-->
</div>
</div>
</div>
<div class="blank5"></div>