首页 > 解决方案 > 在 Prestashop 1.7 中增加和减少购物车中的产品数量

问题描述

我在结帐购物车摘要页面(不在产品页面上),我想允许用户更改其购物车中的产品数量。

我有一个基于默认 Prestashop 1.7 模板的模板。

在里面templates/checkout/_partials/cart-detailed-product-line.tpl,我有:

<input
            class="js-cart-line-product-quantity"
            data-down-url="{$product.down_quantity_url}"
            data-up-url="{$product.up_quantity_url}"
            data-update-url="{$product.update_quantity_url}"
            data-product-id="{$product.id_product}"
            type="text"
            value="{$product.quantity}"
            name="product-quantity-spin"
            min="{$product.minimal_quantity}"
/>

<a
              class                       = "remove-from-cart"
              rel                         = "nofollow"
              href                        = "{$product.remove_from_cart_url}"
              data-link-action            = "delete-from-cart"
              data-id-product             = "{$product.id_product|escape:'javascript'}"
              data-id-product-attribute   = "{$product.id_product_attribute|escape:'javascript'}"
              data-id-customization       = "{$product.id_customization|escape:'javascript'}"
></a>

a元素按预期工作 - 单击链接,购物车将更新为已删除的项目。

我想要做的是在每个旁边添加“+”和“-”链接input以增加和减少项目数量。

但是我不知道要添加哪些类,或者我应该添加哪些 JS 才能不破坏或重写 Prestashop 核心机制?

我的猜测是以某种方式使用data-up-urland data-down-url,但是如何准确地做到这一点(在哪里和调用什么)?

我目前的尝试是增加两个a

<a href="{$product.down_quantity_url}">-</a>
<a href="{$product.up_quantity_url}">+</a>

它通常有效(它更新值),但有两个主要问题:

  1. 我被重定向到 URL 以增加/减少购物车中的数量,而不是我的查看购物车 URL,因此此时刷新页面将进一步增加/减少我不希望发生的数量。我应该将我重定向回购物车汇总 URL(因此刷新页面不会导致数量变化)。
  2. 我可以订购比可用数量更多的数量(只有在进入下一步时才会检查它,而我想在按下“+”之后就拥有它)。

标签: ajaxprestashopprestashop-1.7

解决方案


推荐阅读