在category.php 最后添加以下函数

/*获取顶级id*/

function get_parent($value,$id='')

{

if($value!=0)

{

$sql = 'SELECT parent_id FROM ' . $GLOBALS['ecs']->table('category') . " WHERE cat_id = '$value'";

$res = $GLOBALS['db']->getOne($sql);

return get_parent($res,$value);

}

else

{

return $id;

}

}

/*提取二级分类*/

function get_categories($cat_id = 0)

{

if ($cat_id > 0)

{

$parent_id = $cat_id;

}

else

{

$parent_id = 0;

}

/*

判断当前分类中全是是否是底级分类,

如果是取出底级分类上级分类,

如果不是取当前分类及其下的子分类

*/

$sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . " WHERE parent_id = '$cat_id' AND is_show = 1 ";

if ($GLOBALS['db']->getOne($sql) || $parent_id == 0)

{

/* 获取当前分类及其子分类 */

$sql = 'SELECT a.cat_id, a.cat_name, a.sort_order AS parent_order, a.cat_id, a.is_show,' .

'b.cat_id AS child_id, b.cat_name AS child_name, b.sort_order AS child_order ' .

'FROM ' . $GLOBALS['ecs']->table('category') . ' AS a ' .

'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS b ON b.parent_id = a.cat_id AND b.is_show = 1 ' .

"WHERE a.parent_id = '$parent_id' ORDER BY parent_order ASC, a.cat_id ASC, child_order ASC";

}

else

{

/* 获取当前分类及其父分类 */

$sql = 'SELECT a.cat_id, a.cat_name, b.cat_id AS child_id, b.cat_name AS child_name, b.sort_order, b.is_show ' .

'FROM ' . $GLOBALS['ecs']->table('category') . ' AS a ' .

'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS b ON b.parent_id = a.cat_id AND b.is_show = 1 ' .

"WHERE b.parent_id = '$parent_id' ORDER BY sort_order ASC";

}

$res = $GLOBALS['db']->getAll($sql);

$cat_arr = array();

foreach ($res AS $row)

{

if ($row['is_show'])

{

$cat_arr[$row['cat_id']]['id']   = $row['cat_id'];

$cat_arr[$row['cat_id']]['name'] = $row['cat_name'];

$cat_arr[$row['cat_id']]['url']  = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);

if ($row['child_id'] != NULL)

{

$cat_arr[$row['cat_id']]['children'][$row['child_id']]['id']   = $row['child_id'];

$cat_arr[$row['cat_id']]['children'][$row['child_id']]['name'] = $row['child_name'];

$cat_arr[$row['cat_id']]['children'][$row['child_id']]['url']  = build_uri('category', array('cid' => $row['child_id']), $row['child_name']);

}

}

}

return $cat_arr;

}

ecshop根目录调用_ecshop列表页 调用二级分类教程相关推荐

  1. 帝国CMS之列表页调用父栏目下所有子栏目名称(带链接)

    帝国CMS之列表页调用父栏目下所有子栏目名称(带链接) 列表页模板的代码: <h3>您的当前位置: [!--newsnav--]</h3><?php$fcr=explod ...

  2. Dede列表页调用TAG标签的方法

    整理了以下几种方法供大家使用: 1.tag标签的语法解释 基本语法: {dede:tag row='30' sort='new' getall='0'} <a href='[field:link ...

  3. dede php 调用自定义字段,在dedecms搜索结果列表页调用自定义字段的方法(绝对可用)...

    关于在dedecms搜索结果列表页调用自定义字段的方法比较多有些教程都写得比较含糊,经过织梦者的测试今天推荐一个比较有效的方法给大家,方法是从网络中搜到的,但是绝对可用 打开 include/exte ...

  4. dedecms系统列表页调用tag标签同时带上链接的方法

    小编给大家分享一下dedecms系统列表页调用tag标签同时带上链接的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!  dedecms系统列表页如何调用tag标签同时带上链接?  织 ...

  5. dede列表页if判断输出html,首页、列表页调用文章body内容的两种方法

    随着源码的开放性,很多SEOER对页面的要求也越来越复杂多样性,很多时候,织梦系统的原有功能并不能满足seoer的页面布置要求,这就需要继续开发页面,做更多的功能调用. 今天徐金华SEO给大家讲的是关 ...

  6. mysql调用tag标签_DEDECMS5.5/5.6/5.7列表页调用TAG标签(热门标签)的两种方法

    DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法: 一.DedeCMSv5.6及其以前版本: dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种 ...

  7. discuz帖子列表页调用帖子作者头像

    discuz帖子列表页调用帖子作者头像 /uc_server/avatar.php?uid=$thread[authorid]&size=small forumdisplay_list.htm ...

  8. 织梦文章页/列表页调用评论数、好评、差评的sql语句

    dedecms列表页调用评论数 <a href="[field:cfg_basehost/]/plus/feedback.php?aid=[field:id/]">[f ...

  9. 织梦首页、列表页调用文章body内容的两种方法

    关于首页.列表页调用文章body内容的两种方法,具体方法如下: 第一种方法: {dede:arclist row='1' typeid='1' addfields='body' idlist='1' ...

最新文章

  1. 赠票 | 重磅揭晓Flink Forward Asia 2019完整议程!
  2. “脱虚向实”大潮下:新能源自动驾驶从大厂抢人靠什么
  3. RHEL7配置本地yum源
  4. 后台excel导出(单sheet 多sheet)
  5. 错误日志类-也可以用于查看输出结构
  6. 从数组里挑出仅仅出现一次的对象
  7. Django笔记06
  8. 【操作系统】页置换算法
  9. 超详细教程:SpringBoot整合MybatisPlus
  10. java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E...
  11. CALayer学习--contentsCenter属性
  12. 详解CSS的Flex布局
  13. 美国科技投资交易约4.1%来自中国 投资仍然很困难
  14. 微信公众平台开发之微团购
  15. matlab读不出数据,xlsread为什么读不出数据
  16. 生如夏花之灿烂,死如秋叶之静美
  17. 并发编程之:Atomic
  18. Cisco Aironet系列AP的瘦胖转换
  19. 2016.7.31整机升级计划
  20. 华为荣耀V20存瑕疵,证明三星在技术上还是要强一些

热门文章

  1. 线程池的 RejectedExecutionHandler(拒绝策略)
  2. Linux服务器后台运行jar包
  3. 《大数据日知录:架构与算法》前言
  4. ES6新增数据类型符号(1):普通符号
  5. 算法竞赛入门经典(第二版) | 习题3-5 谜题 (UVa227,Puzzle)(World Finals 1993)
  6. [leetcode] 142.环形链表2
  7. 单片机原理及其应用——单片机控制8只发光二极管交替闪烁
  8. Docker Compose搭建consul群集环境(了解Docker Compose及常用命令,Docker四种网络,Doker指定端口)
  9. 爬取豆瓣TOP250并将数据保存为txt文件和csv文件并存入MySQL数据库
  10. java 字符长度 中文_java判断中文字符串长度的简单实例