猿问

PrestaShop 1.7 如何在产品页面上获取 id_product_attribute?

id_product_attribute 在 URL 中可用 - 值“10”: http://localhost/presta/women/2-10-brown-(...).html#/2-size-m

我需要从当前产品页面获取当前 id_product_attribute。可能来自 $_GET,或来自 DOM 元素,或 presta shop 变量 - 但我必须在添加到购物车之前将其传递给 JavaScript 函数(即使最终客户没有将产品添加到购物车 - 这就是为什么我可以不使用钩子:“actionCartSave”)

我可以从钩子 displayAfterProductThumbs 访问这个值 - 但是获取当前值有问题。为了获得正确的价值,我需要:

1)在产品页面选择产品属性(尺寸、颜色)

2)刷新页面触发钩子“displayAfterProductThumbs”

3)读取数据

但我需要它而不刷新。

在文档中,我什么也找不到。试图寻找短语:id_product_attributeid_combinationidCombinationipa。关于 id_product_attribute(在 Google 上找到)的大多数信息都与 SEO 相关,并且“出于 SEO 目的,在 url 中包含 id_product_attribute 并不是一个好主意”。


湖上湖
浏览 149回答 2
2回答

慕姐8265434

有一个名为 displayProductAdditionalInfo 的钩子。在模块中注册钩子,并在参数中获取产品详细信息。当我们更改产品的组合时,此代码将运行。因此 idProductAttribute 将在组合更改时自动更新。public function hookDisplayProductAdditionalInfo($params){&nbsp; &nbsp; if isset($params['product']) {&nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; Now return the input type hidden with idproductattribute&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return '<input type="hidden" name="id_product_attribute" id="product_attribute_info" value="'.$params['product']['id_product_attribute'].'"/>';&nbsp; &nbsp; }}现在点击添加到购物车阻止默认操作并从输入隐藏字段中获取 idProductAttribute。
随时随地看视频慕课网APP
我要回答