© 2002-2018 最模板 zuimoban.com 版权所有,并保留所有权利。
ecshop模板网,专注ecshop模板制作、ecshop二次开发服务!
文章详情ecshop商品详细页调用当前子分类下的所有分类
先看效果:

操作方法:
第一:在goods.php的最下面添加一个function
//获取相关栏目的分类function get_categorys_info($parent_id){ $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('category') . " WHERE parent_id=".$parent_id." ORDER BY sort_order asc"; $res = $GLOBALS['db']->getAll($sql); $categorys = array(); foreach ($res AS $idx => $row){ $categorys[$idx]['id'] = $row['cat_id']; $categorys[$idx]['url'] = build_uri('category', array('cid'=>$row['cat_id']), $row['cat_name']); $categorys[$idx]['name'] = $row['cat_name']; } return $categorys;}第二:在然后我们需要获取这个栏目的父级,在顶部获取到这个栏目的父级
$cat_id = $db->getOne("SELECT cat_id FROM " . $ecs->table('goods') ." WHERE goods_id = '$goods_id' ");$parent_id = $db->getOne("SELECT parent_id FROM " . $ecs->table('category') . " WHERE cat_id = '$cat_id' ");第三:那么我们就拿$parent_id这个变量获取
$smarty->assign('categorys_info', get_categorys_info($parent_id)); $smarty->assign('cat_id', $cat_id);
把他添加到smarty模板去赋值。
最后我们到我们自己的模板里面把他循环出来
{foreach from=$categorys_info item=r} {if $cat_id!=$r[id]} <li><a href="{$r.url}" title="{$r.name}">{$r.name}</a></li> {/if} {/foreach}很多人问为什么还要加个if去判断呢,因为你循环出来的是全部,你要把本身自己的栏目T出去。