setono/sylius-order-edit-plugin

Setono为Sylius提供的示例插件。

资助包维护!
Setono

安装: 538

依赖: 0

建议者: 0

安全性: 0

星标: 2

关注者: 2

分支: 1

开放问题: 3

类型:sylius-plugin

v1.0.0-beta.2 2024-09-18 06:24 UTC

This package is auto-updated.

Last update: 2024-09-18 06:25:41 UTC


README

Latest Version Software License Build Status Code Coverage Mutation testing

在您的管理界面中编辑订单。

安装

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方法(findByCodesfindByPhrase)。

扩展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');
}

// ...

完成!

您应该能够在您的管理界面中编辑订单。祝您使用愉快 🎉