fmdd / 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-09-04 18:28:33 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
。 -
将模板
{{ include('@MangoSyliusExtendedChannelsPlugin/Channel/extendedChannelForm.html.twig') }}
包含在@SyliusAdmin/Channel/_form.html.twig
中。 -
将
{{ form_row(form.externalLink) }}
添加到@SyliusAdmin/Taxon/_form.html.twig
中的模板。 -
将
<div class="sylius-grid-nav__bulk"> ... </div>
的内部内容替换为@SyliusAdmin/Grid/_default.html.twig
中的{{ 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许可证。
致谢
由manGoweb开发。