ecshop前台 分类下商品的品牌信息
在includes里面lib_common.php加如下代码
/**
* 获得某个分类下的品牌列表
*
* @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.php里分配变量
$smarty->assign('cat_brands', get_cat_brands($cat_id, 'category'));// 分类下商品的品牌信息
最后在模板里输出
<!--{foreach from=$cat_brands item=cat_bd}-->
<li><a href="{$cat_bd.url}">{$cat_bd.brand_name}</a></li>
<!--{/foreach}-->
1则回应给“ecshop 前台显示商品品牌信息分类”
这个不错!