首页 > CMS > Ecshop > 正文

ECSHOP调用当前分类或当前分类的下级分类函数

2024-07-09 22:56:11
字体:
来源:转载
供稿:网友

 很多时候我们在修改ECSHOP模版的时候可能需要在商品分类页或商品详细页里面只显示当前分类及其子分类,如果没有子分类就显示当前分类和上级分类,尤其在商品分类很多的情况下,可以添加以下函数

 

  • function get_categories_tree_xaphp($cat_id = 0)
  • {
  • if ($cat_id > 0)
  • {
  • $sql = ’SELECT parent_id FROM ’ . $GLOBALS['ecs']->table(‘category’) . “ WHERE cat_id = ’$cat_id’”;
  • $parent_id = $GLOBALS['db']->getOne($sql);
  • }
  • else
  • {
  • $parent_id = 0;
  • }
  • /*
  • 判断当前分类中全是是否是底级分类,
  • 如果是取出底级分类上级分类,
  • 如果不是取当前分类及其下的子分类
  • */
  • $sql = ’SELECT count(*) FROM ’ . $GLOBALS['ecs']->table(‘category’) . “ WHERE parent_id = ’$cat_id’ AND is_show = 1 ”;
  • if ($parent_id == 0||$GLOBALS['db']->getOne($sql))
  • {
  • /* 获取当前分类及其子分类 */
  • $sql = ’SELECT cat_id,cat_name ,parent_id,is_show ’ .
  • ‘FROM ’ . $GLOBALS['ecs']->table(‘category’) .
  • “WHERE parent_id = ’$cat_id’ AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC”;
  • $res = $GLOBALS['db']->getAll($sql);
  • 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']);
  • }
  • }
  •  
  • }
  • else
  • {
  •  
  •  
  • /* 获取当前分类及其子分类 */
  • $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($sql);
  •  
  • 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(isset($cat_arr))
  • {
  • return $cat_arr;
  • }
  • }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表