...
|
...
|
@@ -2,53 +2,181 @@ |
|
|
|
|
|
use Action\AbstractAction;
|
|
|
use LibModels\Wap\Product\RecomData;
|
|
|
use Plugin\Helpers;
|
|
|
|
|
|
/**
|
|
|
* 商品推荐相关
|
|
|
*
|
|
|
* @name RecomController
|
|
|
* @package Product
|
|
|
* @copyright yoho.inc
|
|
|
* @version 1.0 (2015-10-8 14:43:52)
|
|
|
* @author fei.hong <fei.hong@yoho.cn>
|
|
|
* 推荐相关的控制器
|
|
|
*/
|
|
|
class RecomController extends AbstractAction
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
* 你可能喜欢的
|
|
|
*
|
|
|
* 备注:
|
|
|
* 调用位于男生(BOYS),女生(GIRLS),潮童(KIDS),创意生活(LifeStyle)页面的底部.
|
|
|
* 调用方式为AJAX,需要用JS遍历该数据集,替换图片URL地址中的{width},{height},{mode}.
|
|
|
* JS替换示例: str.replace("{width}", 300).replace("{height}", 300).replace("{mode}", 2);
|
|
|
* 你可能喜欢的BOYS或GIRLS的商品列表
|
|
|
*
|
|
|
* @param string gender "1,3"表示男, "2,3"表示女, 当channel为3时该参数可不传
|
|
|
* @param string channel 1表示男, 2表示女, 3表示潮童
|
|
|
* @return json
|
|
|
* @param string gender 1,3表示男, 2,3表示女
|
|
|
* @param int page 分页的页码
|
|
|
* @return html
|
|
|
*/
|
|
|
public function maylikeAction()
|
|
|
{
|
|
|
if ($this->isAjax()) {
|
|
|
$data = '';
|
|
|
do {
|
|
|
/* 判断是否是AJAX请求 */
|
|
|
if (!$this->isAjax()) {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
/* 判断分页参数是否有效 */
|
|
|
$page = $this->get('page', 1);
|
|
|
if (!is_numeric($page)) {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
/* 取可能喜欢的数据 */
|
|
|
$recom = array();
|
|
|
$gender = $this->get('gender', '1,3');
|
|
|
$channel = $this->get('channel', '1');
|
|
|
// 女
|
|
|
if ($gender === '2,3') {
|
|
|
$recom = RecomData::mayLike('2,3', 2);
|
|
|
}
|
|
|
// 男
|
|
|
else {
|
|
|
$recom = RecomData::mayLike('1,3', 1);
|
|
|
}
|
|
|
|
|
|
switch (strval($channel)) {
|
|
|
case '1': // 男(Boys)
|
|
|
case '2': // 女(Girls)
|
|
|
$data = RecomData::mayLike($gender, $channel);
|
|
|
/* 判断是否有内容返回 */
|
|
|
if (empty($recom['data']['product_list'])) {
|
|
|
break;
|
|
|
case '3': // 潮童(Kids)
|
|
|
$data = RecomData::mayLikeKids();
|
|
|
}
|
|
|
|
|
|
/* 构建商品数据 */
|
|
|
$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;
|
|
|
case '4': // 创意生活(LifeStyle)
|
|
|
$data = RecomData::mayLikeLifestyle();
|
|
|
}
|
|
|
|
|
|
/* 判断分页参数是否有效 */
|
|
|
$page = $this->get('page', 1);
|
|
|
if (!is_numeric($page)) {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
$this->echoJson($data);
|
|
|
/* 取可能喜欢的数据 */
|
|
|
$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;
|
|
|
}
|
|
|
|
|
|
/* 取可能喜欢的数据 */
|
|
|
$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 ' ';
|
|
|
}
|
|
|
|
|
|
// /**
|
|
|
// * 你可能喜欢的
|
|
|
// *
|
|
|
// * 备注:
|
|
|
// * 调用位于男生(BOYS),女生(GIRLS),潮童(KIDS),创意生活(LifeStyle)页面的底部.
|
|
|
// * 调用方式为AJAX,需要用JS遍历该数据集,替换图片URL地址中的{width},{height},{mode}.
|
|
|
// * JS替换示例: str.replace("{width}", 300).replace("{height}", 300).replace("{mode}", 2);
|
|
|
// *
|
|
|
// * @param string gender "1,3"表示男, "2,3"表示女, 当channel为3时该参数可不传
|
|
|
// * @param string channel 1表示男, 2表示女, 3表示潮童
|
|
|
// * @return json
|
|
|
// */
|
|
|
// public function maylikeAction()
|
|
|
// {
|
|
|
// if ($this->isAjax()) {
|
|
|
// $data = '';
|
|
|
// $gender = $this->get('gender', '1,3');
|
|
|
// $channel = $this->get('channel', '1');
|
|
|
//
|
|
|
// switch (strval($channel)) {
|
|
|
// case '1': // 男(Boys)
|
|
|
// case '2': // 女(Girls)
|
|
|
// $data = RecomData::mayLike($gender, $channel);
|
|
|
// break;
|
|
|
// case '3': // 潮童(Kids)
|
|
|
// $data = RecomData::mayLikeKids();
|
|
|
// break;
|
|
|
// case '4': // 创意生活(LifeStyle)
|
|
|
// $data = RecomData::mayLikeLifestyle();
|
|
|
// break;
|
|
|
// }
|
|
|
//
|
|
|
// $this->echoJson($data);
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
} |
...
|
...
|
|