juicesweb / sylius-tierprice-plugin
一个允许为Sylius添加分级价格的插件
dev-master / 1.10.x-dev
2023-05-02 18:39 UTC
Requires
- php: ^7.4 || ^8.0
- sylius/sylius: ~1.9.0 || ~1.10.0 || ~1.11.0 || ~1.12.0
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-debug-extension: ^2.0.0
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- friendsofsymfony/oauth-server-bundle: ^1.6 || >2.0.0-alpha.0 ^2.0@dev
- phpspec/phpspec: ^7.0
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: 0.12.85
- phpstan/phpstan-doctrine: 0.12.33
- phpstan/phpstan-strict-rules: ^0.12.0
- phpstan/phpstan-webmozart-assert: 0.12.12
- phpunit/phpunit: ^9.5
- sensiolabs/security-checker: ^6.0
- sylius-labs/coding-standard: ^4.0
- symfony/browser-kit: ^4.4 || ^5.2
- symfony/debug-bundle: ^4.4 || ^5.2
- symfony/dotenv: ^4.4 || ^5.2
- symfony/intl: ^4.4 || ^5.2
- symfony/web-profiler-bundle: ^4.4 || ^5.2
- vimeo/psalm: 4.7.1
This package is not auto-updated.
Last update: 2024-10-02 23:16:08 UTC
README
Sylius 分级价格插件
此插件为Sylius添加分级价格,一个产品可以根据数量具有不同的价格。
安装
- 使用composer安装此包
composer require brille24/sylius-tierprice-plugin
- 在您的
bundles.php
中注册此包
return [ //... Brille24\SyliusTierPricePlugin\Brille24SyliusTierPricePlugin::class => ['all' => true], ];
- 将
config.yml
添加到您的本地config/config.yml
imports: ... - { resource: '@Brille24SyliusTierPricePlugin/Resources/config/config.yml'}
并将 resources.yml
添加到您的本地 config/resource.yml
imports: ... - { resource: '@Brille24SyliusTierPricePlugin/Resources/config/resource.yml'}
这样所有的Sylius资源覆盖都会在 app/config/resources.yml
中发生
- 为了API功能,将包的
routing.yml
添加到本地app/config/routing.yml
... brille24_tierprice_bundle: resource: '@Brille24SyliusTierPricePlugin/Resources/config/routing.yml'
- 最后更新数据库,安装资源,并更新翻译
bin/console doctrine:schema:update --force bin/console assets:install bin/console translation:update <locale> --force
集成
- 此包覆盖了Sylius提供的
ProductVariant
类。如果您希望也在您的应用程序中覆盖此类,您必须将包的resource.yml
中的配置与您自己的合并。 - 此包装饰了
sylius.calculator.product_variant_price
服务。如果您想更改它,可以注册一个 编译器传递。 - 此包装饰了
sylius.order_processing.order_prices_recalculator
服务。如果您想使用自己的订单处理器或更改其优先级,可以注册一个 编译器传递。
使用
首先,您必须设置一个产品,并根据需要创建尽可能多的变体。然后在每个这些变体中,您可以根据渠道设置分级价格。表格会自动排序,以提供对所有配置的不同分级的一个更好的概览。
在前端,用户将看到与“添加到购物车”按钮并排的漂亮表格,显示不同分级的折扣,如下所示
创建数据
您可以使用类似以下的固定值轻松创建分级价格。
sylius_fixtures: suites: my_suite: fixtures: tier_prices: options: custom: - product_variant: "20125148-54ca-3f05-875f-5524f95aa85b" channel: US_WEB quantity: 10 price: 5
为此,需要先创建产品,并且产品变体也必须存在。
扩展
如果您想扩展分级价格,请注意此插件使用XML进行配置。这可能与使用注解的项目发生冲突。