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出去。

下一篇: 屏蔽ecshop云提示no_license 上一篇: 为什么安装ecshop是最新版但是后台却显示2.05版

(0)

相关推荐