ajax - 在 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-url
and data-down-url
,但是如何准确地做到这一点(在哪里和调用什么)?
我目前的尝试是增加两个a
:
<a href="{$product.down_quantity_url}">-</a>
<a href="{$product.up_quantity_url}">+</a>
它通常有效(它更新值),但有两个主要问题:
- 我被重定向到 URL 以增加/减少购物车中的数量,而不是我的查看购物车 URL,因此此时刷新页面将进一步增加/减少我不希望发生的数量。我应该将我重定向回购物车汇总 URL(因此刷新页面不会导致数量变化)。
- 我可以订购比可用数量更多的数量(只有在进入下一步时才会检查它,而我想在按下“+”之后就拥有它)。