setono / sylius-order-edit-plugin
Setono为Sylius提供的示例插件。
v1.0.0-beta.2
2024-09-18 06:24 UTC
Requires
- php: >=8.1
- doctrine/orm: ^2.0 || ^3.0
- doctrine/persistence: ^2.0 || ^3.0
- sylius/admin-bundle: ^1.0
- sylius/core: ^1.0
- sylius/core-bundle: ^1.0
- sylius/grid-bundle: ^1.0
- sylius/money-bundle: ^1.0
- sylius/order: ^1.0
- sylius/order-bundle: ^1.0
- sylius/resource-bundle: ^1.6
- symfony/config: ^5.4 || ^6.4 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.4 || ^7.0
- symfony/event-dispatcher: ^5.4 || ^6.4 || ^7.0
- symfony/form: ^5.4 || ^6.4 || ^7.0
- symfony/http-foundation: ^5.4 || ^6.4 || ^7.0
- symfony/http-kernel: ^5.4 || ^6.4 || ^7.0
- symfony/messenger: ^5.4 || ^6.4 || ^7.0
- symfony/options-resolver: ^5.4 || ^6.4 || ^7.0
- symfony/routing: ^5.4 || ^6.4 || ^7.0
- symfony/translation: ^5.4 || ^6.4 || ^7.0
- webmozart/assert: ^1.11
Requires (Dev)
- api-platform/core: ^2.7.16
- babdev/pagerfanta-bundle: ^3.8
- behat/behat: ^3.14
- doctrine/doctrine-bundle: ^2.11
- infection/infection: ^0.27.10
- jms/serializer-bundle: ^4.2
- lexik/jwt-authentication-bundle: ^2.17
- matthiasnoback/symfony-dependency-injection-test: ^4.3 || ^5.1
- phpspec/prophecy-phpunit: ^2.2
- phpunit/phpunit: ^9.6.17
- psalm/plugin-phpunit: ^0.18.4
- setono/code-quality-pack: ^2.7
- sylius/sylius: ~1.12.13
- symfony/browser-kit: ^5.4 || ^6.4 || ^7.0
- symfony/debug-bundle: ^5.4 || ^6.4 || ^7.0
- symfony/dotenv: ^5.4 || ^6.4 || ^7.0
- symfony/intl: ^5.4 || ^6.4 || ^7.0
- symfony/property-info: ^5.4 || ^6.4 || ^7.0
- symfony/serializer: ^5.4 || ^6.4 || ^7.0
- symfony/web-profiler-bundle: ^5.4 || ^6.4 || ^7.0
- symfony/webpack-encore-bundle: ^1.17.2
- symfony/workflow: ^6.4
- willdurand/negotiation: ^3.1
Conflicts
- doctrine/annotations: <1.13.2
- doctrine/data-fixtures: <1.5.1
This package is auto-updated.
Last update: 2024-09-18 06:25:41 UTC
README
在您的管理界面中编辑订单。
安装
composer require setono/sylius-order-edit-plugin
导入路由
# config/routes/setono_sylius_order_edit.yaml setono_sylius_order_edit: resource: "@SetonoSyliusOrderEditPlugin/Resources/config/routes.yaml"
如果您使用的是Sylius <=1.10,还需要导入额外的产品变体路由
setono_sylius_order_edit_product_variant: resource: "@SetonoSyliusOrderEditPlugin/Resources/config/routes/product_variant.yaml"
并记得添加引用的ProductVariantRepository
方法(findByCodes
和findByPhrase
)。
扩展Order
实体
<?php declare(strict_types=1); namespace App\Entity\Order; use Doctrine\ORM\Mapping as ORM; use Setono\SyliusOrderEditPlugin\Entity\EditableOrderInterface; use Setono\SyliusOrderEditPlugin\Entity\EditableOrderTrait; use Sylius\Component\Core\Model\Order as BaseOrder; #[ORM\Entity] #[ORM\Table(name: 'sylius_order')] class Order extends BaseOrder implements EditableOrderInterface { use EditableOrderTrait; }
更新您的数据库模式
php bin/console doctrine:migrations:diff php bin/console doctrine:migrations:migrate
该插件为Order
实体添加了一个名为initialTotal
的新字段,它将包含订单总额,并在编辑订单时使用。
要为现有订单设置initialTotal
字段,您可以在迁移中添加以下内容
<?php // ... public function up(Schema $schema): void { // ... $this->addSql('UPDATE sylius_order SET initial_total = total'); } // ...
完成!
您应该能够在您的管理界面中编辑订单。祝您使用愉快 🎉