欢迎光临一流素材网,免积分免费素材下载!
当前位置:首页 > 教程 > CMS教程>Ecshop

ecshop首页/分类页/详情页调用指定分类下子分类教程

所属栏目:Ecshop更新时间:2014-02-19 来源:网络 原作者:不详 发布:deepdfhy浏览:0

2015年07月12更新:另一款更简单好用的ECSHOP调用指定分类下子分类代码,点击查看

商城网站很常见的设计就是首页商品分类版块左边显示子分类,如京东商民2014新版模板:




通过以下方法可以实现:

第一步:

打开 includes/lib_goods.php 在最后面( ?>前 )加入以下代码:

//*** 调用商品分类指定分类下级分类-16css.com
function get_parent_id_tree($parent_id)
{
    $three_c_arr = array();
    $sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . " WHERE parent_id = '$parent_id' AND is_show = 1 ";
    if ($GLOBALS['db']->getOne($sql))
    {
        $child_sql = 'SELECT cat_id, cat_name, parent_id, is_show ' .
                'FROM ' . $GLOBALS['ecs']->table('category') .
                "WHERE parent_id = '$parent_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";
        $res = $GLOBALS['db']->getAll($child_sql);
        foreach ($res AS $row)
        {
            if ($row['is_show'])
               $three_c_arr[$row['cat_id']]['id']   = $row['cat_id'];
               $three_c_arr[$row['cat_id']]['name'] = $row['cat_name'];
               $three_c_arr[$row['cat_id']]['url'] = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);
        }
    }
    return $three_c_arr;
}

第二步:

打开网站根目录下的  index.php 文件,

查找:约128行

$smarty->assign('shop_notice',     $_CFG['shop_notice']);       // 商店公告

在这行代码的后面也就是下一行添加以下代码:

$smarty->assign('categories1', get_parent_id_tree(1));//调用父级分类ID为1的子分类


第三步:

在 index.dwt模板文件里调用以下代码:

<!--{foreach from=$categories1 item=list}-->
<a href="{$list.url}" target="_blank">{$list.name|truncate:15:true}</a>
 | <!--{/foreach}-->

如果需要分别调用多分类下的子分类,则重复第二步,修改 categories1 这个名称,比如 categories2、categories3,再修改get_parent_id_tree(1)) 中的1 为分类ID。模板中调用时的代码也要修改成相应的 categories*名称


如果是要在分类页面调用指定分类下的分类,则重复以上第二步,只不过修改的文件不是 index.php, 而是:

分类页:category.php

商品详情页:good.php

在适当位置添加第二步的代码即可。

比如,在 category.php 中的

$smarty->assign('top_goods',        get_top10());                  // 销售排行

后面一行添加

标签:
收藏 0 有帮助 0 没帮助 0 打赏 0
相关教程
给个评价吧