Brands.php 3.55 KB
<?php
namespace Product;

use Plugin\Helpers;
use LibModels\Web\Product\BrandData;
use Product\SearchModel;

/**
 * Description of Brands
 *
 * @author Administrator
 */
class BrandsModel
{

    const URL_BRAND_INDEX = '/product/brands/index';
    
    public static $shopName;
    /**
     * 获取品牌首页banner条
     * @string $domain 品牌域名
     * @int $brandId 品牌id
     * @int $uid 用户id
     * 
     * @return array 品牌banner条数据
     */
    public static function getBannerByDomain($domain, $bannerId, $uid = '')
    {
        // 构造品牌主页url
        $home = Helpers::url('', '', $domain) . self::URL_BRAND_INDEX;
        // 根据品牌Id获取品牌banner图
        $bannerImg = BrandData::getBrandBanner($bannerId);
        if (isset($bannerImg['data'])) {
            $bannerImg = Helpers::getImageUrl($bannerImg['data']['banner'], '', 150);
        }
        // 根据品牌Id获取品牌(简介)、收藏
        if (isset($uid)) {
            $intro = BrandData::getBrandIntro($bannerId, $uid);
        }
        $is_favorite = false;
        $logo = false;
        $shopName = false;
        
        do {
            if (! isset($intro['data'])) {
                break;
            }
            // 获取是否收藏
            if ($intro['data']['is_favorite'] == 'Y') {
                $is_favorite = true;
            } elseif ($intro['data']['is_favorite'] == 'N') {
                $is_favorite = false;
            }
            // 获取品牌logo
            $logo = Helpers::getImageUrl($intro['data']['brand_ico'], 80, 50);
            // 获取品牌名
            self::$shopName = $intro['data']['brand_name'];
        } while (false);
        
        // 返回banner数据
        return array(
            'list' => array(
                'brandBanner' => array(
                    'bannerHeight' => '150',
                    'coled' => $is_favorite,
                    'banner' => $bannerImg
                ),
                'shopEntry' => array(
                    'home' => $home,
                    'logo' => $logo,
                    'shopName' => self::$shopName,
                    'sort' => array(
                        array(
                            'href' => '',
                            'name' => 'T恤'
                        ),
                        array(
                            'href' => '',
                            'name' => '卫衣'
                        )
                    )
                )
            )
        );
    }

    /**
     * 搜索品牌数据
     *
     * @param $condition array
     *            搜索数据的条件
     * @param $options array            
     * @return array
     */
    public static function getBrandSearchData($condition, $options)
    {
        //配置调用分类接口参数
        $classes = array();
        $classes['brand'] = $condition['brand'];
        // 调用商品搜索接口
        $data = \Product\SearchModel::getSearchData($condition, $options,$classes);
        $shopName = self::$shopName;
        if(isset($data['list'])){
            $arr = array_chunk($data['list']['pathNav'],1);
            $arr[0][] = Array(
                    'name' => $shopName
                );
        }
        $nav = array_merge_recursive($arr[0],$arr[1]);
        $data['list']['pathNav'] = $nav;
        //删除品牌列表
        unset($data['list']['filters']['brand']);
        //删除折扣分类
        unset($data['list']['allDiscount']);
        //删除新品分类
        unset($data['list']['newSales']);
        return $data;
    }
    
}