Recom.php 5.64 KB
<?php

use Action\AbstractAction;
use LibModels\Wap\Product\RecomData;
use Plugin\Helpers;

/**
 * 推荐相关的控制器
 */
class RecomController extends AbstractAction
{

    /**
     * 你可能喜欢的BOYS或GIRLS的商品列表
     * 
     * @param string gender 1,3表示男, 2,3表示女
     * @param int page 分页的页码
     * @return html
     */
    public function maylikeAction()
    {
        do {
            /* 判断是否是AJAX请求 */
            if (!$this->isAjax()) {
                break;
            }

            /* 判断分页参数是否有效 */
            $page = $this->get('page', 1);
            if (!is_numeric($page)) {
                break;
            }

            /* 取可能喜欢的数据 */
            $recom = array();
            $gender = $this->get('gender', '1,3');
            // 女
            if ($gender === '2,3') {
                $recom = RecomData::mayLike('2,3', 2, $page);
            }
            // 男
            else {
                $recom = RecomData::mayLike('1,3', 1, $page);
            }

            /* 判断是否有内容返回 */
            if (empty($recom['data']['product_list'])) {
                break;
            }

            /* 判断是否已没有数据 */
            if (intval($page) > intval($recom['data']['page_total'])) {
                break;
            }

            /* 构建商品数据 */
            $data = array();
            foreach ($recom['data']['product_list'] as $value) {
                $data['goods'][] = Helpers::formatProduct($value, true, true, true, 276, 366);
            }
        } while (false);

        if (isset($data)) {
            $this->_view->display('maylike', $data);
        } else {
            echo ' ';
        }
    }

    /**
     * 你可能喜欢的潮童的商品列表
     * 
     * @param int page 分页的页码
     * @return html
     */
    public function maylikeKidsAction()
    {
        do {
            /* 判断是否是AJAX请求 */
            if (!$this->isAjax()) {
                break;
            }

            /* 判断分页参数是否有效 */
            $page = $this->get('page', 1);
            if (!is_numeric($page)) {
                break;
            }

            /* 取可能喜欢的数据 */
            $recom = RecomData::mayLikeKids($page);
            if (empty($recom['data']['product_list'])) {
                break;
            }

            /* 判断是否已没有数据 */
            if (intval($page) > intval($recom['data']['page_total'])) {
                break;
            }

            /* 构建模板需要的商品数据 */
            $data = array();
            foreach ($recom['data']['product_list'] as $value) {
                $data['goods'][] = Helpers::formatProduct($value, true);
            }
        } while (false);

        if (isset($data)) {
            $this->_view->display('maylike', $data);
        } else {
            echo ' ';
        }
    }

    /**
     * 你可能喜欢的创意生活的新品到着和人气单品列表
     * 
     * @return html
     */
    public function maylikeLifeAction()
    {
        $data = array();
        do {
            /* 判断是否是AJAX请求 */
            if (!$this->isAjax()) {
                break;
            }

            /* 创意生活只有一页数据 */
            $page = $this->get('page', 1);
            if (intval($page) > 1) {
                break;
            }

            /* 取可能喜欢的数据 */
            $recom = RecomData::mayLikeLifestyle();

            /* 构建人气单品数据 */
            if (empty($recom['data']['product_list']['top'])) {
                break;
            }

            $data = array();
            $build = array();
            $build['show'] = true;
            foreach ($recom['data']['product_list']['top'] as $value) {
                $build['goods'][] = Helpers::formatProduct($value, true, false, false);
            }
            $data['goodsContainer'][] = $build;

            /* 构建新品到着数据 */
            if (empty($recom['data']['product_list']['new'])) {
                break;
            }
            $build = array();
            $build['show'] = true;
            foreach ($recom['data']['product_list']['new'] as $value) {
                $build['goods'][] = Helpers::formatProduct($value, true, false, false);
            }
            $data['goodsContainer'][] = $build;

        } while (false);

        $this->_view->display('maylikelife', $data);
    }
    
    /**
     * 日韩馆-你可能喜欢的
     */
    public function newPreferenceAction()
    {
        $data = array();
        do {
            /* 判断是否是AJAX请求 */
            if (!$this->isAjax()) {
                break;
            }

            //模板id
            $templateId = $this->get('template_id', 0);
            
            /* 创意生活只有一页数据 */
            $page = $this->get('page', 1);
            if (intval($page) > 1 || empty($templateId)) {
                break;
            }
 
            /* 取可能喜欢的数据 */
            $recom = RecomData::newPreference($templateId);
            
            /* 构建人气单品数据 */
            if (empty($recom) || empty($recom['data']['product_list'])) {
                break;
            }

            $data = array();
            $build = array();
            $build['show'] = true;
            foreach ($recom['data']['product_list'] as $value) {
                $build['goods'][] = Helpers::formatProduct($value, true, false, false);
            }
            $data['goodsContainer'][] = $build;
        } while (false);

        $this->_view->display('maylikelife', $data);
        
    }

}