Authored by whb

Merge branch 'develop' of http://git.dev.yoho.cn/web/yohobuy into develop

... ... @@ -18,12 +18,12 @@ class SearchData extends \LibModels\Wap\Product\SearchData
case 'release':
if($type == 'sort'){
return 'http://100.98.132.63/yohosearch/sortgroup.json';
}
if($type == 'discount'){
}elseif($type == 'discount'){
return 'http://100.98.132.63/yohosearch/discount.json';
}
if($type == 'recent'){
}elseif($type == 'recent'){
return 'http://100.98.132.63/yohosearch/recent.json';
}elseif($type == 'review'){
}
return 'http://100.98.132.63/yohosearch/search.json';
case 'test':
... ... @@ -33,11 +33,13 @@ class SearchData extends \LibModels\Wap\Product\SearchData
if($type == 'sort'){
return 'http://101.200.31.165/yohosearch/sortgroup.json';
}
if($type == 'discount'){
elseif($type == 'discount'){
return 'http://101.200.31.165/yohosearch/discount.json';
}
if($type == 'recent'){
elseif($type == 'recent'){
return 'http://101.200.31.165/yohosearch/recent.json';
}elseif($type == 'review'){
return 'http://itemapi.yohobuy.com/item/item/recentreview';
}
return 'http://101.200.31.165/yohosearch/search.json';
}
... ... @@ -125,4 +127,14 @@ class SearchData extends \LibModels\Wap\Product\SearchData
public static function recentShelve(){
return Yohobuy::get(self::getUrl('recent'));
}
/**
* 获取最近浏览记录
* @param int $limit
* @return json
*/
public static function getRecentReview($limit = 0)
{
}
}
\ No newline at end of file
... ...
... ... @@ -74,7 +74,7 @@ class HelperSearch
//分类
$result['filters']['sort'] = array();
//品牌
$result['filters']['brand'] = self::brand($filter);
$result['filters']['brand'] = self::brand($filter, $options);
//价格
$result['filters']['price'] = self::price($filter);
//颜色
... ... @@ -105,14 +105,13 @@ class HelperSearch
//分类
$result['leftContent'][]['allSort'] = isset($filter['group_sort']) ? self::groupSort($filter['group_sort'], $options) : array();
//一周新品上架
$result['leftContent'][]['newSales'] = self::recentShelve($filter['recent']);
$result['leftContent'][]['newSales'] = isset($filter['recent']) ? self::recentShelve($filter['recent']) : array();
//全部折扣
$result['leftContent'][]['allDiscount'] = self::getDiscount($filter['discount']);
$result['leftContent'][]['allDiscount'] = isset($filter['discount']) ? self::getDiscount($filter['discount']) : array();
//总记录数
$result['totalCount'] = $data['data']['total'];
//分页
$result['pager'] = self::pager($result['totalCount'],$options['viewNum']);
//echo $result['pager']; exit;
//选中条件
$result['filters']['checkedConditions']['conditions'] = self::getSelected();
$result['pathNav'] = self::$listnav;
... ... @@ -247,11 +246,11 @@ class HelperSearch
/**
* 组织搜索列表页面的左侧分类
* @param array $sort
* @param array $params
* @param array $option
* @return array
*/
public static function groupSort($sort, $option = array()) {
self::setListNav();
self::setListNav($option);
$params = self::$params;
$gender = isset($params['gender']) ? $params['gender'] : '';
... ... @@ -291,7 +290,8 @@ class HelperSearch
);
foreach ($sort as $val) {
if (isset($params['msort']) && $params['msort'] == $val['sort_id']) {
self::$listnav[1] = array(
$nav_index = isset($option['brandName']) && $option['brandName'] ? 2 : 1;
self::$listnav[$nav_index] = array(
'sort_id' => $val['sort_id'],
'name' => $val['sort_name'],
'href' => self::buildurl(array(
... ... @@ -325,7 +325,8 @@ class HelperSearch
);
foreach ($val['sub'] as $mval) {
if (isset($params['misort']) && $params['misort'] == $mval['sort_id']) {
self::$listnav[2] = array(
$nav_index = isset($option['brandName']) && $option['brandName'] ? 3 : 2;
self::$listnav[$nav_index] = array(
'sort_id' => $mval['sort_id'],
'name' => $mval['sort_name'],
'href' => ''
... ... @@ -352,7 +353,7 @@ class HelperSearch
/**
* 品牌,可以多选
* @param array $brand
* @param array $filter
* @param array $options
* @return array
*/
... ... @@ -481,7 +482,7 @@ class HelperSearch
/**
* 尺码的链接,不能多选
* @param array $size
* @param array $filter
* @return array
*/
public static function size($filter) {
... ... @@ -525,7 +526,7 @@ class HelperSearch
/**
* 颜色,不能多选
* @param array $color
* @param array $filter
* @return array
*/
public static function color($filter) {
... ... @@ -580,7 +581,7 @@ class HelperSearch
/**
* 获取价格,不能多选
* @param array $price
* @param array $filter
* @return array
*/
public static function price($filter) {
... ... @@ -638,7 +639,7 @@ class HelperSearch
/**
* 风格,可以多选
* @param array $style
* @param array $filter
* @return array
*/
public static function style($filter) {
... ...
<?php
namespace Product;
use Plugin\Helpers;
use Plugin\HelperSearch;
use LibModels\Web\Product\BrandData;
use LibModels\Wap\Product\SearchData;
use LibModels\Web\Product\SearchData as WebProduct;
... ... @@ -11,8 +13,7 @@ use LibModels\Web\Product\SearchData as WebProduct;
*
* @author Administrator
*/
class BrandsModel
{
class BrandsModel {
const URL_BRAND_INDEX = '/product/index/brand';
... ... @@ -27,38 +28,50 @@ class BrandsModel
* @param $options array
* @return array
*/
public static function getBrandSearchData($condition, $options,$domain,$uid,$brandId)
{
public static function getBrandSearchData($condition, $options, $domain, $uid, $brandId) {
// 调用商品搜索接口
$data = SearchData::searchElasticByCondition($condition);
//导航名
//获取品牌banner数据
$banner = self::getBannerByDomain($domain, $brandId, $uid = '');
$brandName = self::$shopName;
$option['brandName'] = $brandName;
$options['brandName'] = $brandName;
//配置调用分类接口参数
if (isset($data['code']) && $data['code'] === 200) {
//获取分类列表数据
$param = array();
$param['brand'] = $condition['brand'];
//获取分类列表数据
$classes = WebProduct::getClassesData($param);
if (isset($classes['code']) && $classes['code'] === 200) {
$data['data']['filter']['group_sort'] = $classes['data']['sort'];
}
//获取品牌系列数据
$adNav = self::getAdNav($condition['brand']);
//用户浏览记录
//获取品牌数据
$banner = self::getBannerByDomain($domain, $brandId, $uid = '');
// 组织模板数据
$list = HelperSearch::getList($data, $options);
//合并商品搜索数据与品牌banner数据
$list = array_merge_recursive($list,$banner);
//开始组装数据
$data = array(
//初始化js
'productListPage' => true,
'list' => $list
);
} else {
$data = array();
}
//获取品牌系列数据
$adNav = self::getAdNav($condition['brand']);
$data['list']['leftContent'][] = array('picLink' => $adNav);
return $data;
}
/**
* 获取品牌首页banner条
* @string $domain 品牌域名
... ... @@ -67,8 +80,7 @@ class BrandsModel
*
* @return array 品牌banner条数据
*/
public static function getBannerByDomain($domain, $brandId, $uid = '')
{
public static function getBannerByDomain($domain, $brandId, $uid = '') {
// 构造品牌主页url
self::$home = Helpers::url('', '', $domain) . self::URL_BRAND_INDEX;
// 根据品牌Id获取品牌banner图
... ... @@ -85,7 +97,7 @@ class BrandsModel
$shopName = false;
do {
if (! isset($intro['data'])) {
if (!isset($intro['data'])) {
break;
}
// 获取是否收藏
... ... @@ -102,7 +114,6 @@ class BrandsModel
// 返回banner数据
return array(
'list' => array(
'brandBanner' => array(
'bannerHeight' => '150',
'coled' => $is_favorite,
... ... @@ -123,26 +134,21 @@ class BrandsModel
)
)
)
)
);
}
//获取品牌系列数据
public static function getAdNav($brandId,$status = 1)
{//$condition['brand']
public static function getAdNav($brandId, $status = 1) {
//调用接口获得数据
$advNav = BrandData::getFolderByBrand($brandId,$status);
$advNav = BrandData::getFolderByBrand($brandId, $status);
$result = array();
if (isset($advNav['data']) && $advNav['code'] === 200) {
foreach ($advNav['data'] as $key => $value) {
$result['list'][$key]['href'] = self::$home . '?folder=' . $value['id'];
$result['list'][$key]['href'] = self::$home . '?folder_id=' . $value['id'];
$result['list'][$key]['src'] = $value['brand_sort_ico'];
}
}
return $result;
//$data['list']['advNav'] = $result;
}
}
... ...
<?php
namespace Product;
use Configs\CacheConfig;
use Plugin\HelperSearchNew;
use Plugin\Images;
use Plugin\Cache;
use Plugin\HelperSearch;
use \LibModels\Web\Product\SearchData;
... ... @@ -32,7 +28,6 @@ class SearchModel
public static function getSearchData($condition, $options)
{
$data = array();
// 调用接口查询商品数据
$result = SearchData::searchElasticByCondition($condition);
if (isset($result['code']) && $result['code'] === 200) {
... ... @@ -51,6 +46,8 @@ class SearchModel
if (isset($discount['code']) && $discount['code'] === 200) {
$result['data']['filter']['recent'] = $recent['data']['recent'];
}
//用户浏览记录
$result['data']['filter']['review'] = SearchData::getRecentReview();
// 组织模板数据
$list = HelperSearch::getList($result, $options);
$data = array(
... ...
... ... @@ -60,11 +60,11 @@ class IndexController extends WebAction
//每页显示商品数
if(!isset($condition['viewNum']) || empty($condition['viewNum'])){
$condition['viewNum'] = 60;
$condition['viewNum'] = 59;
}
$view_num_arr = array(60, 100, 200);
if (!in_array($condition['viewNum'], $view_num_arr)) {
$condition['viewNum'] = 60;
$condition['viewNum'] = 59;
}
//每行显示的商品数量
if(!isset($condition['rowNum']) || empty($condition['rowNum'])){
... ... @@ -87,7 +87,7 @@ class IndexController extends WebAction
'gender' => $gender,
'needPd' => 'Y',
'rowNum' => $condition['rowNum'],
'viewNum' => $condition['viewNum'],
'viewNum' => $condition['viewNum'] - 1,
);
$params = $condition + $_GET;
... ...
... ... @@ -48,11 +48,11 @@ class ListController extends WebAction
$condition['gender'] = $gender;
//每页显示商品数
if(!isset($condition['viewNum']) || empty($condition['viewNum'])){
$condition['viewNum'] =60;
$condition['viewNum'] =59;
}
$view_num_arr = array(60, 100, 200);
if (!in_array($condition['viewNum'], $view_num_arr)) {
$condition['viewNum'] = 60;
$condition['viewNum'] = 59;
}
//每行显示的商品数量
if(!isset($condition['rowNum']) || empty($condition['rowNum'])){
... ... @@ -70,14 +70,25 @@ class ListController extends WebAction
//$query = $this->get('query');
//返回搜索条件
$condition['needFilter'] = 1;
//过滤赠品
$condition['attribute_not'] = 2;
/*sale*/
//默认排序
if (!isset($condition['order']) || empty($condition['order'])) {
$condition['order'] = 's_n_desc';
}
if (!isset($condition['p_d']) || empty($condition['p_d'])) {
$condition['p_d'] = '0,0.9';
}
$options = array(
'imgSize' => $imgSize,
'minImgSize' => $minImgSize,
'gender' => $gender,
'needPd' => 'Y',
'rowNum' =>$condition['rowNum'],
'viewNum' =>$condition['viewNum'],
'viewNum' =>$condition['viewNum']-1,
);
$params = $condition + $_GET;
$params = array_filter($params);
$data = SearchModel::getSearchData($params,$options);
... ...