Recom.php 4.09 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);
            }
            // 男
            else {
                $recom = RecomData::mayLike('1,3', 1);
            }
            
            /* 判断是否有内容返回 */
            if (empty($recom['data']['product_list'])) {
                break;
            }

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

        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();
            if (empty($recom['data']['product_list'])) {
                break;
            }

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

        echo ' ';
    }

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

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

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

            /* 构建模板需要的商品数据 */
            $data = array();
            $build = array();
            if (!empty($recom['data']['product_list']['top'])) {
                $build = array();
                $build['show'] = true;
                foreach ($recom['data']['product_list']['top'] as $value) {
                    $build['goods'][] = Helpers::formatProduct($value, true);
                }
                $data['goodsContainer'][] = $build;
            }
            if (!empty($recom['data']['product_list']['new'])) {
                $build = array();
                foreach ($recom['data']['product_list']['new'] as $value) {
                    $build['show'] = false;
                    $build['goods'][] = Helpers::formatProduct($value, true);
                }
                $data['goodsContainer'][] = $build;
            }
            $this->_view->display('maylikelife', $data);
        }
        while (false);

        echo ' ';
    }

}