3brs / sylius-extended-channels-plugin
Sylius 扩展渠道插件
Requires
- php: ^7.3
- ext-json: *
- sylius/sylius: ^1.7
Requires (Dev)
- behat/behat: ^3.4
- behat/mink: ^1.7@dev
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.0
- friends-of-behat/variadic-extension: ^1.1
- lakion/mink-debug-extension: ^1.2.3
- phpstan/phpstan-doctrine: ^0.10
- phpstan/phpstan-shim: ^0.10
- phpstan/phpstan-symfony: ^0.10
- phpstan/phpstan-webmozart-assert: ^0.10
- phpunit/phpunit: ^6.5
- sensiolabs/security-checker: ^5.0
- sylius-labs/coding-standard: ^2.0
- symfony/browser-kit: ^3.4|^4.1
- symfony/debug-bundle: ^3.4|^4.1
- symfony/dotenv: ^4.2
- symfony/intl: ^3.4|^4.1
- symfony/web-profiler-bundle: ^3.4|^4.1
- symfony/web-server-bundle: ^3.4|^4.1
Conflicts
- symfony/browser-kit: 4.1.8
- symfony/dependency-injection: 4.1.8
- symfony/dom-crawler: 4.1.8
- symfony/routing: 4.1.8
- symfony/symfony: 4.1.8
This package is auto-updated.
Last update: 2024-08-30 01:43:51 UTC
README
扩展渠道插件
功能
- 重复产品及其变体
- 批量操作以设置产品类别
- 将分类标记为外部链接,以便可以将分类用于创建带有链接的任何位置的自定义菜单
- 下载当前汇率
- 使用下载的或自定义汇率更新产品价格
- 设置渠道时区
- 设置渠道电话
- 按渠道将订单邮件的副本发送到自定义电子邮件地址
- 当SMTP不可用时,防止在订单提交时出现500错误,但记录错误并提交订单
- 取消某些支付方式未支付订单
- 允许更改产品和产品变体的代码
- Hello Bars 管理员(您可以使用自己的类型)
安装
-
运行
$ composer require mangoweb-sylius/sylius-extended-channels
。 -
将插件类添加到您的
config/bundles.php
return [ ... MangoSylius\ExtendedChannelsPlugin\MangoSyliusExtendedChannelsPlugin::class => ['all' => true], ];
-
您的实体
Channel
必须实现\MangoSylius\ExtendedChannelsPlugin\Model\ExtendedChannelInterface
。您可以使用 traitMangoSylius\ExtendedChannelsPlugin\Model\ExtendedChannelTrait
。 -
您的实体
Taxon
必须实现\MangoSylius\ExtendedChannelsPlugin\Model\ExternalLinkTaxonInterface
。您可以使用 traitMangoSylius\ExtendedChannelsPlugin\Model\ExternalLinkTaxonTrait
。 -
在
@SyliusAdmin/Channel/_form.html.twig
中包含模板{{ include('@MangoSyliusExtendedChannelsPlugin/Channel/extendedChannelForm.html.twig') }}
。 -
在
@SyliusAdmin/Taxon/_form.html.twig
模板中添加{{ form_row(form.externalLink) }}
。 -
在
@SyliusAdmin/Grid/_default.html.twig
中将<div class="sylius-grid-nav__bulk"> ... </div>
的内部内容替换为{{ include('@MangoSyliusExtendedChannelsPlugin/Grid/bulkActions.html.twig') }}
。 -
将资源添加到
config/packeges/_sylius.yaml
imports: ... - { resource: "@MangoSyliusExtendedChannelsPlugin/Resources/config/resources.yml" }
-
将路由添加到
config/_routes.yaml
mango_sylius_extended_channels: resource: '@MangoSyliusExtendedChannelsPlugin/Resources/config/routing.yml' prefix: /admin
有关使用您自己的实体的指南,请参阅 Sylius 文档 - 自定义模型
可选
运行 src/Migrations/basic-data/timezones-data.sql
以加载时区表。(推荐,否则时区选择将空)
用法
命令
-
更新汇率(您需要先在 Sylius 管理员中定义货币)
mango:exchange-rates:update
-
根据汇率更新产品价格,从
sourceChannel
(主值,不会更改)到targetChannel
。您可以在运行上一个命令后运行此命令以根据下载的汇率更新,或者您可以在运行上一个命令的情况下运行它,以使用在 Sylius 管理员中设置的您自己的自定义汇率更新价格。mango:product:update-price sourceChannel targetChannel
-
删除在一定期间内未支付且使用特定运输方式的订单。这允许保留未支付的订单,例如,在个人取货时需要保留几小时/天未支付。配置参数
sylius_order.order_expiration_period
sylius_order.expiration_method_codes
mango:cancel-unpaid-orders
-
您可以在对象复制时使用事件来修改对象
mango-sylius-extended-channels.duplicate.product.before-persist
mango-sylius-extended-channels.duplicate.product.after-persist
mango-sylius-extended-channels.duplicate.product-variant.before-persist
mango-sylius-extended-channels.duplicate.product-variant.after-persist
-
您可以在批量分配分类后使用事件
mango-sylius-extended-channels.products.after_bulk_categories
-
您可以更改 Hello Bars 的类型
parameters: mangoweb_sylius_extended_channels_hello_bar_types: error: 'Error' success: 'Success' info: 'Info' warning: 'Warning'
-
使用 Twig 函数列出 Hello Bars
mangoweb_sylius_available_hello_bars()
mangoweb_sylius_available_hello_bars_by_type(type)
开发
用法
- 从 .env.dist 创建到 .env 的符号链接或创建您自己的 .env 文件
- 在
/src
中开发您的插件 - 请参阅
bin/
以获取有用的命令
测试
在您的更改之后,您必须确保测试仍然通过。
$ composer install
$ bin/console doctrine:schema:create -e test
$ bin/behat
$ bin/phpstan.sh
$ bin/ecs.sh
许可
本库采用MIT许可证。