ecshop首页调用指定商品分类下的商品品牌列表

时间:2023-03-08 18:12:22

转之--http://www.16css.com/ecshop/735.html

通过二次开发可以实现ECSHOP首页调用指定分类下的品牌列表。

第一步:

打开根目录下的index.php

在最后面 ?> 前面加入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 获得某个分类下的品牌 列表
*
* @access  public
* @param   int     $cat
* @return  array
*/
function get_cat_brands($cat = 0, $app 'category')
{
 $children = ($cat > 0) ? ' AND ' . get_children($cat) : '';
$sql "SELECT b.brand_id, b.brand_name, b.brand_logo, COUNT(g.goods_id) AS goods_num, IF(b.brand_logo > '', '1', '0') AS tag ".
 "FROM " $GLOBALS['ecs']->table('brand') . "AS b, ".
  $GLOBALS['ecs']->table('goods') . " AS g ".
"WHERE g.brand_id = b.brand_id $children " .
   "GROUP BY b.brand_id HAVING goods_num > 0 ORDER BY tag DESC, b.sort_order ASC";
$row $GLOBALS['db']->getAll($sql);
 foreach ($row AS $key => $val)
 {
 $row[$key]['url'] = build_uri($apparray('cid' => $cat'bid' => $val['brand_id']), $val['brand_name']);
 }
        
 return $row;
   
    }

第二步:

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

1
2
3
<!--{foreach from=get_cat_brands($this->_var['cat']['id']) item=brandCat}-->
<li><a href="{$brandCat.url}"><img  src="data/brandlogo/{$brandCat.brand_logo}" title="{$brandCat.brand_name}" width="106" height="36"><span>{$brandCat.brand_name}</span></a></li>
<!--{/foreach}-->

需要指定分类ID调用,只要把代码中的

1
$this->_var['cat']['id']

改成 ID号就行,比如:调用ID=1的分类

1
2
3
<!--{foreach from=get_cat_brands(1) item=brandCat}-->
<li><a href="{$brandCat.url}"><img  src="data/brandlogo/{$brandCat.brand_logo}" title="{$brandCat.brand_name}" width="106" height="36"><span>{$brandCat.brand_name}</span></a></li>
<!--{/foreach}-->

美中不足的是,无法指定调用多少条。