tilleuls/sylius-click-n-collect-plugin

Sylius 点击取货插件,用于在 COVID-19 疫情期间安全销售和配送。

v1.0.0 2023-09-28 14:08 UTC

This package is auto-updated.

Last update: 2024-08-28 16:35:23 UTC


README

Click 'N' Collect Approved by Sylius

在冠状病毒大流行期间安全销售和交付!

由于冠状病毒大流行,世界大部分地区处于封锁状态,大多数商店关闭或排长队。

Sylius 点击 'N' 取货 是一种在封锁期间(甚至封锁之后)安全销售和交付产品的解决方案。通过允许 无接触 取货并防止排队,Sylius 点击 'N' 取货 保护了您的员工和客户。

Sylius 点击 'N' 取货 是用于 Sylius 电子商务平台的插件。它是免费的(既指言论自由,也指啤酒免费),由 Les-Tilleuls.coop 的朋友们提供。它还可以与 Sylius 的所有现有功能和插件一起使用。

CI

它如何工作?

Screencast

作为客户

  1. 访问商店的网站
  2. 选择要订购的产品
  3. 选择取货地点(例如,实体店)
  4. 选择可用的时段
  5. 在线支付,或选择店内支付(也支持 Stripe 和 PayPal)。
  6. 可选:生成一个 PIN,您需要它来取回订单
  7. 在选定的时间段内在商店取货订单!如果适用,使用 PIN 码解锁箱子。

作为卖家

  1. 使用管理界面的日历来查看即将到来的订单
  2. 准备订单:将它们放入袋子,并使订单号码易于辨认(可以使用订书机或标记笔)
  3. 小心地清洁货架和锁(如果适用)以及适当的清洁产品
  4. 将袋子放入货架
  5. 可选:使用 PIN 锁定货架上的箱子以安全保管订单
  6. 远程监控取货,从窗户后面或使用监控摄像头

重复操作!

现在您可以在防止大流行传播的同时销售产品了!

安装

注意:要本地测试插件,请参阅 CONTRIBUTING.md

  1. 安装 Sylius

  2. 安装 Sylius 点击 'N' 取货composer require tilleuls/sylius-click-n-collect-plugin

  3. 注册包

    <?php
    
    // config/bundles.php
    
    return [
        // ...
        CoopTilleuls\SyliusClickNCollectPlugin\CoopTilleulsSyliusClickNCollectPlugin::class => ['all' => true],
    ];
  4. 导入配置

    # config/packages/sylius_click_n_collect.yaml
    imports:
        - { resource: "@CoopTilleulsSyliusClickNCollectPlugin/Resources/config/app/config.yml" }
  5. 导入路由

    # config/routes/sylius_click_n_collect.yaml
    coop_tilleuls_sylius_click_n_collect_shop:
        resource: "@CoopTilleulsSyliusClickNCollectPlugin/Resources/config/shop_routing.yml"
        prefix: /{_locale}
        requirements:
            _locale: ^[a-z]{2}(?:_[A-Z]{2})?$
    
    coop_tilleuls_sylius_click_n_collect_admin:
        resource: "@CoopTilleulsSyliusClickNCollectPlugin/Resources/config/admin_routing.yml"
        prefix: /admin
  6. 更新本地实体

    <?php
    
    // src/Entity/Shipping/ShippingMethod.php
    
    namespace App\Entity\Shipping;
    
    use CoopTilleuls\SyliusClickNCollectPlugin\Entity\ClickNCollectShippingMethod;
    use CoopTilleuls\SyliusClickNCollectPlugin\Entity\ClickNCollectShippingMethodInterface;
    use Doctrine\ORM\Mapping as ORM;
    use Sylius\Component\Core\Model\ShippingMethod as BaseShippingMethod;
    
    /**
     * @ORM\Entity
     * @ORM\Table(name="sylius_shipping_method")
     */
    class ShippingMethod extends BaseShippingMethod implements ClickNCollectShippingMethodInterface
    {
        use ClickNCollectShippingMethod {
            __construct as initializeShippingMethodLocations;
        }
    
        public function __construct()
        {
            parent::__construct();
    
            $this->initializeShippingMethodLocations();
        }
    
        // ...
    }
    <?php
    
    // src/Entity/Shipping/Shipment.php
    
    namespace App\Entity\Shipping;
    
    use CoopTilleuls\SyliusClickNCollectPlugin\Entity\ClickNCollectShipment;
    use CoopTilleuls\SyliusClickNCollectPlugin\Entity\ClickNCollectShipmentInterface;
    use CoopTilleuls\SyliusClickNCollectPlugin\Validator\Constraints\SlotAvailable;
    use Doctrine\ORM\Mapping as ORM;
    use Sylius\Component\Core\Model\Shipment as BaseShipment;
    
    /**
    * @ORM\Entity
    * @ORM\Table(name="sylius_shipment", indexes={@ORM\Index(columns={"location_id", "collection_time"})})
    * @SlotAvailable(groups={"sylius"})
    */
    class Shipment extends BaseShipment implements ClickNCollectShipmentInterface
    {
       use ClickNCollectShipment;
    }
  7. 覆盖模板

    cp -R vendor/tilleuls/sylius-click-n-collect-plugin/tests/Application/templates/* templates
    
  8. 创建并执行数据库迁移

    bin/console doctrine:migrations:diff
    bin/console doctrine:migrations:migrate
    
  9. 复制资产

    bin/console assets:install
    bin/console sylius:theme:assets:install
    
  10. 添加您的产品库存或 导入它们

  11. 配置取货地点、可用时段以及您能安全并行服务的客户数量

  12. 创建专门的配送方式

  13. 可选:从管理员配置在线支付方式(默认支持 Stripe 和 PayPal)

导出数据

请参阅 docs/exports.md

您现在可以开始销售了!

许可证

大流行条款

使用本软件时,您必须确保所有使用该软件的员工和客户都没有风险!这意味着您必须减少员工与客户之间的接触次数(在大多数情况下,配送应为无接触),并且您必须为处理产品的员工提供口罩、免洗手消毒液和手套。

生命比利润更重要。

AGPL

Sylius Click 'N' Collect 遵循 AGPL-3.0 许可协议。对于不希望或无法使用 AGPL-3.0 许可协议软件的公司,也提供商业许可。如需更多信息,请联系我们:contact@les-tilleuls.coop

致谢

Kévin DunglasLes-Tilleuls.coop 创建。商业支持可在 Les-Tilleuls.coop 获取。