mangoweb-sylius / sylius-extended-channels
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:06:52 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许可证。
鸣谢
由manGoweb开发。