|
|
<?php
|
|
|
|
|
|
namespace Plugin\DataProcess;
|
|
|
|
|
|
use Plugin\Helpers;
|
|
|
|
|
|
/**
|
|
|
* 楼层数据处理类
|
|
|
*/
|
|
|
class FloorProcess
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
* 频道参数
|
|
|
*
|
|
|
* @var array
|
|
|
*/
|
|
|
private static $channel = array(
|
|
|
'1' => '1,3',
|
|
|
'2' => '2,3'
|
|
|
);
|
|
|
|
|
|
/**
|
|
|
* 处理首页内容
|
|
|
* @param $data
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
*/
|
|
|
public static function getContent($data, $type = 1)
|
|
|
{
|
|
|
if (empty($data['list'])) {
|
|
|
return array();
|
|
|
}
|
|
|
|
|
|
$result = array();
|
|
|
|
|
|
$build = array();
|
|
|
foreach ($data['list'] as $v) {
|
|
|
if (empty($v)) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
$fun = $v['template_name'];
|
|
|
if (empty($v['data']) || !is_callable("self::$fun")) {
|
|
|
continue;
|
|
|
}
|
|
|
$build = self::$fun($v['data'], $type);
|
|
|
if (empty($build)) {
|
|
|
continue;
|
|
|
}
|
|
|
$result[] = $build;
|
|
|
}
|
|
|
$build = array();
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 焦点图数据处理方法
|
|
|
* @param array $data 焦点图数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的焦点图数据
|
|
|
*/
|
|
|
private static function focus($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data as $one) {
|
|
|
$result['bannerTop']['list'][] = Helpers::formatBanner($one, 640, 240);
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 图标
|
|
|
*/
|
|
|
private static function floor($data)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data as &$one) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 98, 98);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
$result['iconsEnter']['list'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 图标列表数据处理方法
|
|
|
*
|
|
|
* @param array $data 图标列表数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的图标列表数据
|
|
|
*/
|
|
|
private static function app_icon_list($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data as &$one) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 98, 98);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
$result['iconsEnter']['list'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 单广告图片数据处理方法
|
|
|
*
|
|
|
* @param array $data 单图片数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的单图片数据
|
|
|
*/
|
|
|
private static function single_image($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data as &$one) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 640, 200);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
$result['banner'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 女生品类
|
|
|
* 推荐(1T-12F)
|
|
|
*/
|
|
|
private static function recommend_content_three($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
$build = array();
|
|
|
if (!empty($data['big_image'][0])) {
|
|
|
$build['img'] = Helpers::getImageUrl($data['big_image'][0]['src'], 640, 200);
|
|
|
$build['url'] = Helpers::getFilterUrl($data['big_image'][0]['url']);
|
|
|
$result['hotCategory']['banner'] = $build;
|
|
|
}
|
|
|
|
|
|
$build = array();
|
|
|
foreach ($data['list'] as $one) {
|
|
|
$build['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
$build['img'] = Helpers::getImageUrl($one['src'], 128, 140);
|
|
|
$build['textCn'] = $one['title'];
|
|
|
$result['hotCategory']['list'][] = $build;
|
|
|
}
|
|
|
|
|
|
if (isset($data['title']['more_url'])) {
|
|
|
$data['title']['more_url'] = Helpers::getFilterUrl($data['title']['more_url']);
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 带标题的12个小图推荐数据处理方法
|
|
|
*
|
|
|
* @param array $data 带标题的12个小图推荐数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的带标题的12个小图推荐数据
|
|
|
*/
|
|
|
private static function recommend_content_five($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data['list'] as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 140, 140);
|
|
|
$one['textCn'] = $one['title'];
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
$data['is_show_name'] = $data['title']['is_show'];
|
|
|
$data['name'] = $data['title']['title'];
|
|
|
unset($data['title']);
|
|
|
|
|
|
if (isset($data['title']['more_url'])) {
|
|
|
$data['title']['more_url'] = Helpers::getFilterUrl($data['title']['more_url']);
|
|
|
}
|
|
|
|
|
|
$result['hotCategory'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 推荐品牌数据处理方法
|
|
|
* @param array $data 推荐品牌数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的推荐品牌数据
|
|
|
*/
|
|
|
private static function app_hot_brands($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
$data['is_show_name'] = (isset($data['is_show_name']) && $data['is_show_name'] === 'Y') ? 1 : 0;
|
|
|
$data['name'] = $data['title']['title'];
|
|
|
unset($data['title']);
|
|
|
foreach ($data['list'] as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
// isset(self::$channel[$type]) && $one['url'] .= '?gender=' . self::$channel[$type];
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 158, 174);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
$data['more'] = '/brands?channel=' . $type;
|
|
|
$result['hotBrands'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 潮人·搭配数据处理方法
|
|
|
* @param array $data 潮人·搭配数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的潮人·搭配数据
|
|
|
*/
|
|
|
private static function trendsetter_collocation($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data as $key => &$value) {
|
|
|
if ($key == 'title') {
|
|
|
$value['more_url'] = Helpers::url('', array('id' => 3, 'gender' => self::$channel[$type]), 'guang');
|
|
|
}
|
|
|
if ($key == 'article') {
|
|
|
foreach ($value as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 400, 400);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
}
|
|
|
if ($key == 'recommend_collocation') {
|
|
|
foreach ($value as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 140, 140);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
$result['trendColloaction'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 潮品·话题数据处理方法
|
|
|
* @param array $data 潮品·话题数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的潮品·话题数据
|
|
|
*/
|
|
|
private static function trendgoods_topic($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data as $key => &$value) {
|
|
|
if ($key == 'title') {
|
|
|
$urlParam = array('id' => 4);
|
|
|
isset(self::$channel[$type]) && $urlParam['gender'] = self::$channel[$type];
|
|
|
$value['more_url'] = Helpers::url('', $urlParam, 'guang');
|
|
|
}
|
|
|
if ($key == 'list' && is_array($value)) {
|
|
|
foreach ($value as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 580, 360);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
$result['trendTopics'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 一张大图一个大的推荐和4个小图推荐数据处理方法
|
|
|
* @param array $data 一张大图一个大的推荐和4个小图推荐数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的一张大图一个大的推荐和4个小图推荐数据
|
|
|
*/
|
|
|
private static function recommend_content_one($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data['big_image'] as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 640, 403);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
|
|
|
// 区别多张图与一张图
|
|
|
if (count($data['big_image']) > 1) {
|
|
|
$result['big_image']['big_list'] = $data['big_image'];
|
|
|
unset($data['big_image']);
|
|
|
}
|
|
|
|
|
|
foreach ($data['list'] as $kk => &$one) {
|
|
|
if ($kk == 0) {
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 253, 383);
|
|
|
} else {
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 191, 191);
|
|
|
}
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['textCn'] = $one['title'];
|
|
|
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
|
|
|
if (isset($data['title']['more_url'])) {
|
|
|
$data['title']['more_url'] = Helpers::getFilterUrl($data['title']['more_url']);
|
|
|
}
|
|
|
|
|
|
$result['goodsCategory'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 一张大图和6个小图推荐数据处理方法
|
|
|
* @param array $data 一张大图和6个小图推荐数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的一张大图和6个小图推荐数据
|
|
|
*/
|
|
|
private static function recommend_content_two($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data['big_image'] as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 640, 403);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
$data['banner'] = $data['big_image'];
|
|
|
unset($data['big_image']);
|
|
|
|
|
|
foreach ($data['list'] as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 191, 191);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
|
|
|
if (isset($data['title']['more_url'])) {
|
|
|
$data['title']['more_url'] = Helpers::getFilterUrl($data['title']['more_url']);
|
|
|
}
|
|
|
$result['creativeLife'] = $data;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 小图片数据处理方法
|
|
|
* @param array $data 小图片数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的小图片数据
|
|
|
*/
|
|
|
private static function small_pic($data, $type)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
foreach ($data as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 275, 160);
|
|
|
unset($one['src']);
|
|
|
}
|
|
|
if (!empty($data)) {
|
|
|
$result['smallPic']['list'] = $data;
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* plus,star
|
|
|
* @param array $data 单名字图片数据
|
|
|
* @param $type 类型 默认1:男首页 2:女首页 3:kids 4:lifestyle
|
|
|
* @return array 处理之后的单名字图片数据
|
|
|
*/
|
|
|
private static function single_name_image($data, $type)
|
|
|
{
|
|
|
if (empty($data)) {
|
|
|
return array();
|
|
|
}
|
|
|
|
|
|
$data['name'] = $data['title'];
|
|
|
$data['img'] = Helpers::getImageUrl($data['src'], 640, 198);
|
|
|
if (isset($data['url'])) {
|
|
|
$data['url'] = Helpers::getFilterUrl($data['url']);
|
|
|
}
|
|
|
|
|
|
return array('plusStar' => $data);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 自定义品牌
|
|
|
*
|
|
|
* @param unknown $data
|
|
|
* @param mixed $type
|
|
|
* @return multitype:
|
|
|
*/
|
|
|
private static function custom_brands($data, $type)
|
|
|
{
|
|
|
// URL附加参数
|
|
|
$param = '';
|
|
|
/*if (isset(self::$channel[$type])) {
|
|
|
$param = '/?gender=' . self::$channel[$type];
|
|
|
}*/
|
|
|
|
|
|
$result = array();
|
|
|
$result['hotBrandsScroll']['name'] = $data['title']['title'];
|
|
|
foreach ($data['list'] as &$one) {
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] = Helpers::getFilterUrl($one['url']);
|
|
|
}
|
|
|
$one['img'] = Helpers::getImageUrl($one['src'], 140, 140);
|
|
|
$one['textCn'] = $one['name'];
|
|
|
if (isset($one['url'])) {
|
|
|
$one['url'] .= $param;
|
|
|
}
|
|
|
}
|
|
|
if (!empty($data['is_show_name']) && $data['is_show_name'] == 'Y') {
|
|
|
$result['hotBrandsScroll']['is_show_name'] = true;
|
|
|
}
|
|
|
$result['hotBrandsScroll']['list'] = $data['list'];
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
} |