setono / sylius-cost-price-plugin
使用此插件为您的产品变体添加成本价格属性
v1.2.0
2022-06-09 08:52 UTC
Requires
- php: >=7.4
- sylius/sylius: ^1.3
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
- phpspec/phpspec: ^6.0
- phpstan/phpstan-doctrine: ^0.10
- phpstan/phpstan-shim: ^0.10
- phpstan/phpstan-symfony: ^0.10
- phpstan/phpstan-webmozart-assert: ^0.10
- roave/security-advisories: dev-latest
- sensiolabs/security-checker: ^5.0
- sylius-labs/coding-standard: ^2.0
- symfony/browser-kit: ^4.3|^5.0
- symfony/debug-bundle: ^4.3|^5.0
- symfony/dotenv: ^4.3|^5.0
- symfony/intl: ^4.3|^5.0
- symfony/web-profiler-bundle: ^4.3|^5.0
- symfony/web-server-bundle: ^4.3|^5.0
- v1.2.0
- v1.1.0
- dev-master / 1.0.x-dev
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-renovate/configure
- dev-php8
- dev-dependabot/add-v2-config-file
- dev-dependabot/composer/lakion/mink-debug-extension-tw-2.0.0
- dev-dependabot/composer/phpspec/phpspec-tw-6.3
- dev-dependabot/composer/sylius-labs/coding-standard-tw-3.1
- dev-dependabot/composer/sensiolabs/security-checker-tw-6.0
- dev-dependabot/composer/phpstan/phpstan-shim-tw-0.12
This package is auto-updated.
Last update: 2024-09-15 07:42:42 UTC
README
为您的产品添加成本价格属性。
安装
步骤 1:下载插件
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此捆绑包的最新稳定版本
$ composer require setono/sylius-cost-price-plugin
此命令需要您已全局安装 Composer,如 Composer 文档的安装章节中所述。
步骤 2:启用插件
然后,通过将其添加到项目 config/bundles.php
文件中注册的插件/捆绑包列表中,来启用插件
<?php // config/bundles.php return [ // ... Setono\SyliusCostPricePlugin\SetonoSyliusCostPricePlugin::class => ['all' => true], // ... ];
步骤 4:导入产品变体特性
<?php // src/Entity/ProductVariant.php declare(strict_types=1); namespace App\Entity; use Setono\SyliusCostPricePlugin\Model\CostPriceAwareInterface; use Setono\SyliusCostPricePlugin\Model\ProductVariantTrait as CostPriceProductVariantTrait; use Sylius\Component\Core\Model\Product as BaseProduct; /** * @ORM\Entity * @ORM\Table(name="sylius_product_variant") */ class ProductVariant extends BaseProduct implements CostPriceAwareInterface { use CostPriceProductVariantTrait; // ... }
注意:如果您尚未扩展 ProductVariant
实体,请首先按照定制说明进行操作,因为您需要添加更多配置。
步骤 5:更新您的数据库
$ php bin/console doctrine:migrations:diff $ php bin/console doctrine:migrations:migrate
步骤 6:将表单小部件添加到twig模板
您需要覆盖显示产品和产品变体表单的模板,并添加成本价格和成本价格货币的 form_row
语句
{# app/Resources/SyliusAdminBundle/views/ProductVariant/Tab/_details.html.twig #} {# ... #} <div class="ui segment"> {{ form_row(form.code) }} <div class="two fields"> {{ form_row(form.shippingCategory) }} </div> {# This is the part you should add #} <div class="four fields"> {{ form_row(form.costPriceCurrency) }} {{ form_row(form.costPrice) }} </div> {# End of the part you should add #} {{ form_row(form.channelPricings) }} </div> {# ... #}
{# app/Resources/SyliusAdminBundle/views/Product/Tab/_details.html.twig #} <div class="ui segment"> {{ form_row(form.code) }} {{ form_row(form.enabled) }} {% if product.simple %} {{ form_row(form.variant.onHand) }} {{ form_row(form.variant.tracked) }} {{ form_row(form.variant.shippingRequired) }} {{ form_row(form.variant.version) }} {% else %} {{ form_row(form.options) }} {{ form_row(form.variantSelectionMethod) }} {% endif %} {# Nothing to see here. #} <div class="ui hidden element"> {% if product.simple %} {# This is the part you should add #} <div class="two fields"> {{ form_row(form.variant.costPriceCurrency) }} {{ form_row(form.variant.costPrice) }} </div> {# End of the part you should add #} {{ form_row(form.variant.translations) }} {% endif %} {{ form_row(form.variantSelectionMethod) }} </div> </div>
如果您尚未覆盖模板,您可以直接将模板从 vendor/setono/sylius-cost-price-plugin/src/Resources/views/SyliusAdminBundle
复制到 app/Resources/SyliusAdminBundle/views/