关于ecshop函数获取当前分类列表出所有品牌

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家

 在ecshop当中先增加函数

/**
* 获得某个分类下的品牌 列表
*
* @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;
}

2. 然后在相应模板当中增加标签:

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