Brands.php 4.25 KB
<?php
namespace Product;

use Plugin\Helpers;
use LibModels\Web\Product\BrandData;
use LibModels\Wap\Product\SearchData;
use LibModels\Web\Product\SearchData as WebProduct;

/**
 * 品牌首页模板数据模型
 *
 * @author Administrator
 */
class BrandsModel
{

    const URL_BRAND_INDEX = '/product/index/brand';
    
    public static $shopName;
    public static $home;
    
        /**
     * 搜索品牌数据
     *
     * @param $condition array
     *            搜索数据的条件
     * @param $options array            
     * @return array
     */
    public static function getBrandSearchData($condition, $options,$domain,$uid,$brandId)
    {
        
        // 调用商品搜索接口
        $data = SearchData::searchElasticByCondition($condition);
        
        //导航名
        $brandName = self::$shopName;
        $option['brandName'] = $brandName;
        
        //配置调用分类接口参数
        $param = array();
        $param['brand'] = $condition['brand'];
       //获取分类列表数据
        $classes = WebProduct::getClassesData($param);
        
        
        //获取品牌系列数据
        $adNav = self::getAdNav($condition['brand']);
        
        
       //获取品牌数据
        $banner = self::getBannerByDomain($domain, $brandId, $uid = '');
        
        
        //开始组装数据
        
        
        return $data;
    }
    
    
    /**
     * 获取品牌首页banner条
     * @string $domain 品牌域名
     * @int $brandId 品牌id
     * @int $uid 用户id
     * 
     * @return array 品牌banner条数据
     */
    public static function getBannerByDomain($domain, $brandId, $uid = '')
    {
        // 构造品牌主页url
        self::$home = Helpers::url('', '', $domain) . self::URL_BRAND_INDEX;
        // 根据品牌Id获取品牌banner图
        $bannerImg = BrandData::getBrandBanner($brandId);
        if (isset($bannerImg['data'])) {
            $bannerImg = Helpers::getImageUrl($bannerImg['data']['banner'], '', 150);
        }
        // 根据品牌Id获取品牌(简介)、收藏
        if (isset($uid)) {
            $intro = BrandData::getBrandIntro($brandId, $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' => self::$home,
                    'logo' => $logo,
                    'shopName' => self::$shopName,
                    'sort' => array(
                        array(
                            'href' => '',
                            'name' => 'T恤'
                        ),
                        array(
                            'href' => '',
                            'name' => '卫衣'
                        )
                    )
                )
            )
        );
    }


    
    //获取品牌系列数据
    public static function getAdNav($brandId,$status = 1)
    {//$condition['brand']
        //调用接口获得数据
        $advNav = BrandData::getFolderByBrand($brandId,$status);
        $result = array();
        if (isset($advNav['data']) && $advNav['code'] === 200) {
            foreach ($advNav['data'] as $key => $value) {
                $result['list'][$key]['href'] = self::$home . '?folder=' . $value['id'];
                $result['list'][$key]['src'] = $value['brand_sort_ico'];
            }
        }
        return $result;
        //$data['list']['advNav'] = $result;
    }
    
}