nordcode.io /sylius-taxon-filter-plugin
Sylius的分类过滤器插件。
dev-master / 1.6.x-dev
2020-04-27 10:26 UTC
Requires
- php: ^7.4
- gedmo/doctrine-extensions: ^2.4.12
- sylius/sylius: ^1.6
This package is not auto-updated.
Last update: 2024-09-25 03:34:48 UTC
README
此插件允许将特定方面链接到Sylius中的特定分类。
Sylius有产品属性、产品选项等概念。然而,没有内置的方式使这些属性或选项仅对特定类别的产品相关。如果您想允许访客使用这些方面过滤产品目录,这可能是个问题。此插件使得将特定的属性、选项和其他方面链接到分类成为可能,从而让您更容易决定在何处显示哪些过滤器。
安装
- 通过Composer安装包
$ composer require nordcode.io/sylius-taxon-filter-plugin
更新
config/bundles.php
<?php return [ ... Nordcode\SyliusTaxonFilterPlugin\NordcodeSyliusTaxonFilterPlugin::class => ['all' => true], ]
更新您的
Taxon
模型类以实现我们的TaxonInterface
... use Nordcode\SyliusTaxonFilterPlugin\Entity\TaxonInterface; use Nordcode\SyliusTaxonFilterPlugin\Entity\TaxonTrait; ... class Taxon extends BaseTaxon implements TaxonInterface { use TaxonTrait; ... }
- 扩展此包中找到的
TaxonFilter
模型类,并在config/packages/_sylius.yaml
中指定它为资源类... sylius_resource: resources: ... nordcode_sylius_taxon_filter_plugin.taxon_filter: classes: model: App\Entity\Taxonomy\TaxonFilter ...
- 在
config/packages/_sylius.yaml
中包含插件配置文件imports: ... - { resource: "@NordcodeSyliusTaxonFilterPlugin/Resources/config/config.yml" } ...
- 在
config/packages/stof_doctrine_extensions.yaml
中启用Gedmo Sortable Doctrine扩展stof_doctrine_extensions: ... orm: default: sortable: true
- 在您的路由配置(例如
config/routes.yaml
)中包含插件路由nordcode_taxon_filter_admin: resource: "@NordcodeSyliusTaxonFilterPlugin/Resources/config/admin_routing.yaml" prefix: /admin
- 从
src/Migrations/
复制并执行迁移$ cp vendor/nordcode.io/sylius-taxon-filter-plugin/src/Migrations/* src/Migrations/ $ bin/console doctrine:migrations:migrate
注意:如果在生产环境中运行,请向此命令添加
-e prod
标志。
用法
该插件为管理员提供了一个界面来查看、生成和启用/禁用过滤器。
还提供了一个控制台命令。如果分类过滤器生成时间超过您的服务器或PHP设置允许的时间,则该命令特别有用。命令可以按以下方式调用
$ bin/console nordcode:taxon-filter:generate
默认生成四种类型的分类过滤器
- 子分类
- 价格
- 产品属性(每个分类每个属性一个条目)
- 产品选项(每个选项每个属性一个条目)
这些类型中的任何一个都可以通过将其服务名称匹配的参数设置为false来禁用,例如,在 services.yaml
中设置以下参数将只生成属性过滤器
parameters:
nordcode_sylius_taxon_filter_plugin.generator.category: false
nordcode_sylius_taxon_filter_plugin.generator.price: false
nordcode_sylius_taxon_filter_plugin.generator.product_attribute: true
nordcode_sylius_taxon_filter_plugin.generator.product_option: false
应用程序可以实施附加的生成器。每个生成器必须实现 Nordcode\SyliusTaxonFilterPlugin\Service\Generator\TaxonFilterGeneratorInteface
(如果自动配置关闭,则标记为 nordcode_sylius_taxon_filter_plugin.generator
)。
请注意,如果找到了名称与其实际服务名称匹配的参数,并且其值等于 false
,则自定义生成器也不会被使用。