spicyweb/craft-reorder

轻松重新排列之前的Craft Commerce用户订单

3.0.0 2024-05-01 08:29 UTC

This package is auto-updated.

Last update: 2024-08-31 00:29:39 UTC


README

重排

轻松重新排列之前的Craft Commerce用户订单。

ReOrder使允许用户快速复制现有购物车中旧订单的行项变得简单,包括项目的数量、产品选项和备注。

要求

  • ReOrder 3.x需要Craft CMS 5和Craft Commerce 5。

安装

ReOrder可以通过Craft 插件商店 安装。也可以使用Composer进行设置。

composer require spicyweb/craft-reorder

然后在Craft控制面板中浏览到 设置 → 插件 并选择安装ReOrder。

使用方法

ReOrder可以配置为在重新排列旧订单时保留或丢弃现有购物车中的项目,以及允许或不允许重新排列订单,如果关联的可购买项目不再全部可用(无论是已删除、禁用还是缺货)——在这种情况下,如果允许重新排列,ReOrder将只复制可用的项目。

这些选项可以在Craft控制面板中全局配置,也可以在模板文件中根据具体情况覆盖。

ReOrder还使允许客户选择他们想要重新排列的项目变得简单,如果他们不想重新排列整个订单。

示例:保留购物车但禁止部分重新排列

<form method="POST">
    <input type="hidden" name="action" value="reorder/reorder">
    {{ csrfInput() }}
    {{ redirectInput('shop/checkout') }}
    <input type="hidden" name="order" value="{{ order.number }}">
    <input type="hidden" name="retainCart" value="1">
    <input type="hidden" name="allowPartial" value="0">
    <button type="submit">ReOrder!</button>
</form>

示例:允许客户选择要重新排列的项目

<form method="POST">
    <input type="hidden" name="action" value="reorder/reorder">
    {{ csrfInput() }}
    {{ redirectInput('shop/checkout') }}
    <input type="hidden" name="order" value="{{ order.number }}">

    {% for item in order.lineItems %}
        <input type="checkbox" name="reOrderItems[]" value="{{ item.id }}">
        {# other item info #}
    {% endfor %}

    <button type="submit">ReOrder!</button>
</form>