monsieurbiz/sylius-no-commerce-plugin

禁用Sylius的电子商务功能。

v1.13.4 2024-09-04 09:21 UTC

README

Banner of Sylius No Commerce plugin

Sylius无商业插件

No Commerce Plugin license Tests Status Recipe Status Security Status

此插件禁用Sylius的电子商务部分。
基本上,它禁用了路由并更新了后台和前端模板。

兼容性

安装

如果您想使用我们的食谱,可以通过运行以下命令来配置您的composer.json

composer config --no-plugins --json extra.symfony.endpoint '["https://api.github.com/repos/monsieurbiz/symfony-recipes/contents/index.json?ref=flex/master","flex://defaults"]'
composer require monsieurbiz/sylius-no-commerce-plugin
对于没有flex的安装,请按照以下附加步骤进行

将您的config/bundles.php文件更改为添加以下行以声明插件

<?php

return [
    //..
    MonsieurBiz\SyliusNoCommercePlugin\MonsieurBizSyliusNoCommercePlugin::class => ['all' => true],
];

然后在config/packages/monsieurbiz_sylius_nocommerce_plugin.yaml中创建配置文件

imports:
    - { resource: "@MonsieurBizSyliusNoCommercePlugin/Resources/config/config.yaml" }

向您的src/Entity/Channel/Channel.php实体添加一些注释,以防止在保存渠道时出错

  /**
   * @ORM\Entity
   * @ORM\Table(name="sylius_channel")
+  * @ORM\AssociationOverrides({
+  *     @ORM\AssociationOverride(name="baseCurrency",
+  *         joinColumns=@ORM\JoinColumn(
+  *             name="base_currency_id", referencedColumnName="id", nullable=true
+  *         )
+  *     )
+  * })
   */
  #[ORM\Entity]
  #[ORM\Table(name: 'sylius_channel')]
+  #[ORM\AssociationOverrides([
+      new ORM\AssociationOverride(
+          name: 'baseCurrency',
+          joinColumns: new ORM\JoinColumn(name: 'base_currency_id', referencedColumnName: 'id', nullable: true)
+      )]
+  )]
  class Channel extends BaseChannel

使用不同的特性为您的src/Kernel.php

-     use MicroKernelTrait;
+     use SyliusNoCommerceKernelTrait;

(别忘了添加use MonsieurBiz\SyliusNoCommercePlugin\Kernel\SyliusNoCommerceKernelTrait;语句或当然)。

复制我们覆盖的模板

cp -Rv vendor/monsieurbiz/sylius-no-commerce-plugin/src/Resources/templates/* templates/

创建新的迁移,并运行它们

./bin/console doctrine:migrations:diff
./bin/console doctrine:migrations:migrate

重新启用功能

在配置文件config/packages/monsieurbiz_sylius_nocommerce_plugin.yaml中,添加以下行

# ...
monsieurbiz_sylius_nocommerce:
    config:
        allow_countries: false
        allow_customers: false
        allow_zones: false

您可以通过将参数更改为true来允许不同的部分。

忽略路由

默认情况下,禁用防火墙监听器将忽略以下路由的开发者工具栏。

您可以通过将它们添加到config/packages/monsieurbiz_sylius_nocommerce_plugin.yaml文件来忽略其他路由,例如错误页面的预览路由。

parameters:
    monsieurbiz_sylius_nocommerce.disable_firewall.ignored_routes:
        - "_preview_error"

贡献

如果您想,可以打开一个问题或拉取请求! 😘
谢谢!