monsieurbiz/sylius-advanced-option-plugin

此插件改进了产品选项。

v1.0.1 2024-09-04 06:59 UTC

README

Banner of Sylius Advanced Option plugin

高级选项

Advanced Option 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-advanced-option-plugin

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

<?php

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

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

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

然后在 config/routes/monsieurbiz_sylius_advanced_option_plugin.yaml 中创建路由文件

monsieurbiz_advanced_option_admin:
    resource: "@MonsieurBizSyliusAdvancedOptionPlugin/Resources/config/routing/admin.yaml"
    prefix: /%sylius_admin.path_name%

复制我们覆盖的模板

cp -Rv vendor/monsieurbiz/sylius-advanced-option-plugin/src/Resources/templates/* templates/

您的 ProductOption 实体需要实现 RenderedOptionInterface 接口并使用 MonsieurBiz\SyliusAdvancedOptionPlugin\Entity\ProductOption\RenderedOptionTrait 特性。例如,在我们的测试应用程序中:ProductOption

您的 ProductOptionValue 实体需要实现 RenderedOptionValueInterface 接口并使用 MonsieurBiz\SyliusAdvancedOptionPlugin\Entity\ProductOption\RenderedOptionValueTrait 特性。例如,在我们的测试应用程序中:ProductOption

迁移

迁移由 Doctrine 3 处理。

您只需运行它们即可。

bin/console doctrine:migrations:migrate

模板覆盖

如果您已经替换了您的主题中的 templates/bundles/SyliusShopBundle/Product/Show/_options.html.twig 模板,请修改内容以使用twig函数

  • monsieurbiz_advancedoption_has_renderer
  • monsieurbiz_advancedoption_form_row

阅读默认覆盖以从其内容中获得灵感:_options.html.twig

赞助商

  • EasyMonneret

贡献

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