Index.php 7.75 KB
<?php 
use Action\WebAction;
use LibModels\Web\Product\BrandData;

use \LibModels\Web\Product\HotrankData;
use product\HotrankModel;
use LibModels\Web\Home\IndexData;

class IndexController extends WebAction
{
    public $channel;
    public $gender;
    public $road;//频道
    public $code;
    /**
     * 品牌首页
     */
    public function brandAction()
    {
        //品牌域名
        $domain = $this->param('named');
        if (empty($domain)) {
            $this->go(SITE_MAIN);
        }    
        $uid = $this->getUid();
        //根据品牌域名获取品牌id(同时判断品牌域名是否有效)
        $fields = 'id,brand_name,brand_name_cn,brand_name_en,brand_domain,brand_alif,brand_banner,brand_ico,static_content_code';
        $brandInfo = BrandData::getBrandLogoByDomain($domain, $fields);
        
        if (!empty($brandInfo['data']) && $brandInfo['code'] == 200) {
            $brandId = $brandInfo['data']['id'];
            $node = isset($brandInfo['data']['static_content_code']) ? $brandInfo['data']['static_content_code'] : false;
            $brandBanner = $brandInfo['data']['brand_banner'];
        } else {
            $this->go(SITE_MAIN);
        }
        
        //品牌ID参数
        $condition = array();
        $condition['brand'] = $brandId;
        
        //$options参数数组
        $options = array();
        $options['brandName'] = $domain;
        $options['uid'] = $uid;
        $options['brandId'] = $brandId;
        $options['node'] = $node;
        $options['brandBanner'] = $brandBanner;
        $options['reviewNum'] = 6;
        
        //调用模型获得数据
        $data = Product\BrandsModel::getBrandSearchData($condition, $options);
        $data = array(
            //初始化js
            'searchListPage' => true,
            'list' => $data
        );
        
        $this->setWebNavHeader();
        //渲染模板
        $this->_view->display('list',$data);
    }
    
    //品牌介绍页
    public function brandIntroAction()
    {
        //品牌域名
        $domain = $this->param('named');
        if (empty($domain)) {
            $this->go(SITE_MAIN);
        }    
        $uid = $this->getUid();
        //根据品牌域名获取品牌id(同时判断品牌域名是否有效)
        $fields = 'id,brand_name,brand_name_cn,brand_banner,brand_ico,brand_intro';
        $brandInfo = BrandData::getBrandLogoByDomain($domain, $fields);
        
        if (!empty($brandInfo['data']) && $brandInfo['code'] == 200) {
            $brandId = $brandInfo['data']['id'];
            $brandBanner = $brandInfo['data']['brand_banner'];
            $brandAbout = $brandInfo['data']['brand_intro'];
        } else {
            $this->go(SITE_MAIN);
        }
        
        //品牌ID参数
        $condition = array();
        $condition['brand'] = $brandId;
        
        //$options参数数组
        $options = array();
        $options['brandName'] = $domain;
        $options['uid'] = $uid;
        $options['brandId'] = $brandId;
        $options['brandBanner'] = $brandBanner;
        $options['brandAbout'] = $brandAbout;
        //调用模型获得数据
        $data = Product\BrandsModel::getBrandIntro($condition, $options);
        
        $data = array(
            //初始化js
            'searchListPage' => true,
            'list' => $data
        );
        
        $this->setWebNavHeader();
        //渲染模板
        $this->_view->display('list',$data);
    }
    /**
     * 热销排行
     */
    public function hotrankAction() 
    {
        //获取频道
        $cookie = $this->getCookie('_Channel');
        $this->channel = isset($cookie) ? $cookie : 'boys';
        switch ($this->channel)
        {
            case 'boys' :
                    $this->gender = '1,3';
                    $this->road = 1;
                    $this->code = '80d772d8dff25300a2a2e4c97165330c';
                    break;
            case 'girls' :
                    $this->gender = '2,3';
                    $this->road = 2;
                    $this->code = '8df64e505e94edb9881fd1e7efb702e9';
                    break;
            case 'lifestyle' :
                    $this->gender = '';
                    $this->road = 4;
                    $this->code = 'd131aba83a84a6977eee3a7403a713de';
                    break;
            case 'kids' :
                    $this->gender = '';
                    $this->road = 3;
                    $this->code = 'bd6a06a08f8ca9b0db762f78e0bc5b68';
                    break;

        }
        $this->setWebNavHeader(\Index\HomeModel::$this->channel);
        $data = array( 'hotrankPage' => true,
                        'footerTop'=> true,
                        'hotrank' => array()
                    );
        
        //焦点图 热门品牌
        $focus = \Index\HomeModel::getChannelResource($this->channel, $this->code);
        $data['hotrank']['slide'] = $focus[0]['slide'];
        $data['hotrank']['hotBrands'] = $focus[1]['hotBrands'];
        
        //人气单品 一周热卖
        $page = $this->get('page',1);		
        $sort_id = $this->get('sid',0);
        $viewNum = 60;
        $param = array('order'=>'s_n_desc','viewNum'=>$viewNum,'page'=>$page,'stocknumber'=>1,'status'=>1,'gender'=>$this->gender,'attribute_not'=>2);
        if($sort_id != 0)
        {
            $param['sort'] = $sort_id;
        }
        if($this->road == 3)
        {
            $param['msort'] = 365;
        }elseif($this->road == 4){
            $param['msort'] = 10;
        }else{
            $param['not_maxSortId'] = '10,365';
        } 
       $publiclist = \product\HotrankModel::getSearchData($param,$page,0);
       $data['hotrank']['popular'] = $publiclist['popular'];
       $data['hotrank']['hotWeek'] = $publiclist['hotWeek'];

       //分类标签
       $nav = \product\HotrankModel::getHotranktag('web',$this->road,true);
       $data['hotrank']['hotWeek']['nav'] = $nav;
       $this->_view->display('hotrank', $data);
    }
    
    /*
     * 一周热卖加载更多
     */
    public function getdataAction()
    {
        $page = $this->get('page',1);
        //加载到100个以后停止
        if($page > 2)
        {
            echo json_encode(array('code'=>201,'data'=>''));
            exit;
        }
        $sid = $this->get('sid',1);
        $sort = '';		
        //是否是默认标签
        if($sid > 1)
        {
            //通过ID获取标签信息
            $info = \LibModels\Web\Product\HotrankData::getTagById($sid, false);
            if(!empty($info['data']))
            {
                $sort = $info['data']['category_id'];
            }				
        }
        $viewNum = 60;		
        $param = array('order'=>'s_n_desc','viewNum'=>$viewNum,'page'=>$page,'sort'=>$sort,'stocknumber'=>1,'status'=>1,
                'gender'=>$this->gender,'attribute_not'=>2);
        if(empty($param['sort']))
        {
            if($this->road == 3)
            {
                $param['msort'] = 365;
            }elseif($this->road == 4){
                $param['msort'] = 10;
            }else{
                $param['not_maxSortId'] = '10,365';
            }
        }
        //一周热卖
        $list = \product\HotrankModel::getSearchData($param, $page, 1);
        $lister = $list['hotWeek']['list'];
        $lister = array_values($lister);
        if($sid == 1 && $page == 1)
        {
            $lister = array_slice($lister, 10, 50);
        }else{
            $lister = array_slice($lister, 0, 50);
        }
        $data = array( 'code'=>200, 'data'=>$lister,);
        echo json_encode($data);
        exit;   
    }
}