Fecmall 分类侧栏属性过滤

fecmall 前端商城,分类页面,侧栏属性过滤的介绍以及新增过滤字段

分类侧栏过滤属性

前端商城的分类侧栏过滤属性,譬如:http://fecshop.appfront.fancyecommerce.com/test-product-name111111

我们可以通过点击不同的属性值,进行产品过滤,方便筛选

fecmall开源商城,默认只有价格品牌两个过滤属性,您可以根据自己的需要添加属性过滤 ,目前的产品services有2种,mongodbmysql默认是mysql的方式

Mysql Product Services,添加侧栏过滤属性

fecmall默认用的是mysql存储的产品数据,使用该部分,fecmall版本必须2.8.0+以上 ,mysql添加侧栏过滤属性还是麻烦一些(对于不熟悉mongodb的用户,建议使用该方式添加)

譬如我们想给产品添加 colorss字段

1.添加产品表字段 (product_flat

进入表:product_flat, 添加表字段colorss

2.后台产品编辑 添加属性编辑

后台产品编辑文件:

fecshop\app\appadmin\modules\Catalog\block\productinfo\index\Attr.php

fecshop\app\appadmin\modules\Catalog\block\productinfo\index\BatchAttr.php

您可以在getBaseInfo()方法中添加字段,下面2种方式二选一即可。

// 1.添加select下拉条编辑类型
$colorssData = [
    'blue' => 'blue',
    'red' => 'red',
];
[
    'label' => Yii::$service->page->translate->__('Colorss'),
    'name'  => 'colorss',
    'display' => [
        'type' => 'select',
        'data' => $colorData,
    ],
    'require' => 0,
],

//2.字符串输入框编辑类型
[
    'label' => Yii::$service->page->translate->__('Colorss'),
    'name'  => 'colorss',
    'display' => [
        'type' => 'inputString',
        'lang' => false,
    ],
    'require' => 0,
],

如果您使用fecyofecbbctbgoods等可能重写了该文件,您需要根据具体系统,重写文件,加入后台产品编辑选项

最终以后台可以正常编辑产品 colorss 属性为准

3.后台设置分类页面-侧栏默认过滤属性

下面是appfront入口得设置,多个过滤属性逗号隔开

对于apphtml5,appserver入口,都需要单独设置各个入口

4.产品编辑字段值

您需要编辑几个产品,设置属性值,当分类下的产品该属性值全部为空,将不会显示在分类侧栏属性过滤, 因此您需要先编辑几个产品,然后进入相应的分类,查看具体的侧栏属性过滤

5.自定义侧栏属性名称以及属性值

在侧栏的显示,默认的以数据表product_flat的表字段和值显示的,如果您想自定义,可以添加配置

譬如 产品表的品牌,是品牌表的id , brand_id,对应的是 int,我们希望自定义属性名称以及属性值,那么,您可以在category services配置里面加入:(下面是category services的配置,通过配置注入值,您可以在本地开发环境中添加 ,譬如@appfront/config/fecshop_local_services/Category.php(没有则新建)中添加配置)

<?php
return [
    'category' => [
        // 加入下面的配置
        'customCategoryFilterAttr' => [
            'brand_id' => [
                'label' => 'Brand',
                'items' =>  [
                    1 => '华为',
                    3 => '小米',
                    4 => '大华',
                ],
            ],
        ],
    ],
];

属性显示将由brand_id 替换成`label 对应的 Brand`

属性值brand_id 4,将会替换成'大华'

Mongodb Product Services,添加侧栏过滤属性

网站产品多,网站流量大,可以使用mongodb services存储产品数据, 对于不熟悉mongodb而且时间精力不够的用户,不建议使用,下面是讲解如何在mongo下添加侧栏属性过滤

1.您需要先部署mongodb环境,产品使用mongodb, 详细参看:Fecmall-使用Mongodb

2.后台开启product services,如图:

3.新建产品属性

4.产品属性加入属性组

勾选 colorss 属性,并且保存

5.新建产品,选择相应的属性组

在属性组列,编辑属性

保存产品即可

6.配置分类显示colorss属性过滤

appfrontapphtml5appserver需要单独配置

到这里就配置完成了,去前端商城显示出来了(访问的分类对应的产品,colorss必须有值,才会显示过滤属性)

分类单独配置属性(自定义custom)

当某个分类,我们希望某个属性过滤的显示自定义,那么可以单独设置关闭显示

需要注意的是,设置了显示,该分类下的产品,产品属性有值才会显示属性过滤。/