<?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) { $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') { $value['more_url'] = Helpers::url('', array('id' => 4, 'gender' => self::$channel[$type]), 'guang'); } if ($key == 'list') { 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']['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) { // 按照以前业务操作,不显示 return array(); $result = array(); foreach ($data as &$one) { if (isset($one['url'])) { $one['url'] = Helpers::getFilterUrl($one['url']); } $one['img'] = Helpers::getImageUrl($one['src'], 98, 98); unset($one['src']); } $result['small_pic'] = $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; } }