tavy315 / sylius-requested-delivery-date-plugin

Sylius 插件,让您的客户可以请求送货日期。

v0.4.0 2022-12-02 12:32 UTC

This package is auto-updated.

Last update: 2024-08-30 01:26:16 UTC


README

Latest Version Latest Unstable Version Software License Build Status

此插件为 Sylius 提供功能,允许您的客户在订单中请求送货日期。

仅支持 Doctrine ORM 驱动。

截图

商店

Screenshot showing labels on product list

管理员

Screenshot showing admin order

安装

步骤 1:安装插件

打开命令行,进入您的项目目录,并执行以下命令以下载此插件的最新稳定版本

$ composer require tavy315/sylius-requested-delivery-date-plugin

此命令需要您全局安装 Composer,请参阅 Composer 文档的 安装章节

步骤 2:启用插件

然后,通过将其添加到项目中 config/bundles.php 文件中注册的插件/捆绑包列表中,启用该插件

<?php
$bundles = [
    Tavy315\SyliusRequestedDeliveryDatePlugin\Tavy315SyliusRequestedDeliveryDatePlugin::class => ['all' => true],
];

步骤 3:配置插件

# config/packages/tavy315_sylius_requested_delivery_date.yaml

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

步骤 4:自定义模型

有关 Sylius 模型定制的更多信息,请参阅 此处

自定义订单模型

Tavy315\SyliusRequestedDeliveryDatePlugin\Model\Order\RequestedDeliveryDateTrait 特性添加到您的 App\Entity\Order\Order 类中。

  • 如果使用 annotations 映射

    <?php 
    // src/Entity/Order/Order.php
    
    namespace App\Entity\Order;
    
    use Doctrine\ORM\Mapping as ORM;
    use Sylius\Component\Core\Model\Order as BaseOrder;
    use Tavy315\SyliusRequestedDeliveryDatePlugin\Model\Order\RequestedDeliveryDateInterface;
    use Tavy315\SyliusRequestedDeliveryDatePlugin\Model\Order\RequestedDeliveryDateTrait;
    
    /**
     * @ORM\Entity
     * @ORM\Table(name="sylius_order")
     */
    class Order extends BaseOrder implements RequestedDeliveryDateInterface
    {
        use RequestedDeliveryDateTrait;
    }

步骤 5:更新数据库模式

$ php bin/console doctrine:migrations:diff
$ php bin/console doctrine:migrations:migrate

步骤 6:将标签添加到您的产品模板中

将新的 requestedDeliveryDate 字段添加到模板中。默认情况下,您应使用 templates/bundles/SyliusShopBundle/Checkout/Complete/_form.html.twig 路径。

{{ form_row(form.notes, sylius_test_form_attribute('extra-notes')|merge({'rows': 3})) }}
{{ form_row(form.requestedDeliveryDate) }}

用法

从现在开始,您的客户应该能够请求送货日期。