spicyweb / craft-reorder
轻松重新排列之前的Craft Commerce用户订单
3.0.0
2024-05-01 08:29 UTC
Requires
- craftcms/cms: ^5.0.0
- craftcms/commerce: ^5.0.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/rector: dev-main
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>