1. 程式人生 > >ecshop呼叫指定商品分類下固定條數的商品品牌列表

ecshop呼叫指定商品分類下固定條數的商品品牌列表

通過二次開發可以實現ECSHOP首頁呼叫指定分類下的品牌列表。

第一步:
開啟根目錄下的index.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; }

這是呼叫所有分類品牌,如果要呼叫指定條數,直接在sql後面加limit即可

第二步:
在index.dwt 模板裡使用以下程式碼呼叫:

<!--{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呼叫,只要把程式碼中的

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

改成 ID號就行,比如:呼叫ID=1的分類

<!--{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}-->