转之--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( $app , array ( '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 }--> |
美中不足的是,无法指定调用多少条。