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