提交 a520bdf4 编写于 作者: D devil

首页分类推荐优化

上级 7baa2d49
......@@ -60,8 +60,7 @@ class GoodsService
// 从缓存获取
$key = config('shopxo.cache_goods_category_key');
$data = cache($key);
if(empty($data))
if(empty($data) || config('app_debug'))
{
// 获取分类
$params['where'] = ['pid'=>0, 'is_enable'=>1];
......@@ -97,12 +96,12 @@ class GoodsService
{
// 一次性查出所有二级下的三级、再做归类、避免sql连接超多
$where['pid'] = array_column($v['items'], 'id');
$items = self::GoodsCategoryList($where);
if(!empty($items))
$itemss = self::GoodsCategoryList($where);
if(!empty($itemss))
{
foreach($v['items'] as &$vs)
{
foreach($items as $vss)
foreach($itemss as $vss)
{
if($vs['id'] == $vss['pid'])
{
......@@ -183,13 +182,42 @@ class GoodsService
// 缓存
$key = config('shopxo.cache_goods_floor_list_key');
$data = cache($key);
if(empty($data))
if(empty($data) || config('app_debug'))
{
// 商品大分类
$params['where'] = ['pid'=>0, 'is_home_recommended'=>1, 'is_enable'=>1];
$data = self::GoodsCategory($params);
$where = ['pid'=>0, 'is_home_recommended'=>1, 'is_enable'=>1];
$data = self::GoodsCategoryList($where);
if(!empty($data))
{
$level = MyC('common_show_goods_category_level', 3, true);
if($level > 1)
{
foreach($data as &$c)
{
$where['pid'] = $c['id'];
$c['items'] = self::GoodsCategoryList($where);
if(!empty($c['items']) && $level > 2)
{
// 一次性查出所有二级下的三级、再做归类、避免sql连接超多
$where['pid'] = array_column($c['items'], 'id');
$itemss = self::GoodsCategoryList($where);
if(!empty($itemss))
{
foreach($c['items'] as &$cv)
{
foreach($itemss as $cvv)
{
if($cv['id'] == $cvv['pid'])
{
$cv['items'][] = $cvv;
}
}
}
}
}
}
}
// 根据分类获取楼层商品
foreach($data as &$v)
{
......
......@@ -35,7 +35,7 @@
<view class="word" style="background-color:{{floor.bg_color || '#eaeaea'}}">
<view a:if="{{floor.items.length > 0}}">
<block a:for="{{floor.items}}" a:for-index="icx" a:for-item="icv">
<navigator a:if="{{icx < 6 && icv.is_home_recommended == 1}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
<navigator a:if="{{icx < 6}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
{{icv.name}}
</navigator>
</block>
......
......@@ -35,7 +35,7 @@
<view class="word" style="background-color:{{floor.bg_color || '#eaeaea'}}">
<view s-if="floor.items.length > 0">
<block s-for="icv, icx in floor.items" s-key="ck">
<navigator s-if="icx < 6 && icv.is_home_recommended == 1" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
<navigator s-if="icx < 6" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
{{icv.name}}
</navigator>
</block>
......
......@@ -35,7 +35,7 @@
<view class="word" style="background-color:{{floor.bg_color || '#eaeaea'}}">
<view qq:if="{{floor.items.length > 0}}">
<block qq:for="{{floor.items}}" qq:key="ck" qq:for-index="icx" qq:for-item="icv">
<navigator qq:if="{{icx < 6 && icv.is_home_recommended == 1}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
<navigator qq:if="{{icx < 6}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
{{icv.name}}
</navigator>
</block>
......
......@@ -38,7 +38,7 @@
<view class="word" style="background-color:{{floor.bg_color || '#eaeaea'}}">
<view tt:if="{{floor.items.length > 0}}">
<block tt:for="{{floor.items}}" tt:key="ck" tt:for-index="icx" tt:for-item="icv">
<navigator tt:if="{{icx < 6 && icv.is_home_recommended == 1}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
<navigator tt:if="{{icx < 6}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
{{icv.name}}
</navigator>
</block>
......
......@@ -35,7 +35,7 @@
<view class="word" style="background-color:{{floor.bg_color || '#eaeaea'}}">
<view wx:if="{{floor.items.length > 0}}">
<block wx:for="{{floor.items}}" wx:key="ck" wx:for-index="icx" wx:for-item="icv">
<navigator wx:if="{{icx < 6 && icv.is_home_recommended == 1}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
<navigator wx:if="{{icx < 6}}" class="word-icon" url="/pages/goods-search/goods-search?category_id={{icv.id}}" hover-class="none">
{{icv.name}}
</navigator>
</block>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册