如何在 PrestaShop 1.7 中使用 javascript 更改当前产品封面照片

How to change current product cover photo with javascript in PrestaShop 1.7

我正在尝试设置自定义产品预览带有已上传标识的 T 恤作为产品缩略图。这是图像,文件类型:jpeg - 我有完整的 url 和 http:NEW_PRODUCT_THUMB.

如何将此url设置为产品图片/封面/缩略图?

为了测试,我尝试将其设置为 jQuery:

// <section id="main"> , first <img> child element
$('section#main img:eq(0)').attr("src", NEW_PRODUCT_THUMB );

问题: 每次更改 - T 恤尺码、颜色都会触发刷新产品页面,然后 - 默认图像已加载(来自数据库,而不是来自我的自定义 JS 编辑器) .

这是网页,其中自定义产品图像设置为缩略图的方式正确,但我不知道如何设置? https://products.printzware.com/home/114-faded-short-sleeves-tshirt.html#/4-size-one_size

解决方案 #1

为什么不编辑您的 product.tpl Smarty 模板文件并添加一个条件,说明如果此产品已在当前购物中定制,您将显示特定图像而不是封面图像?

您可以通过从 Cart class 中调用以下方法来检索自定义图像:

getProductCustomization($id_product, $type = null, $not_in_cart = false)

对于 real-time 修改,您当然可以保留 jQuery 代码。

解决方案#2

相同的逻辑,但是您可以在 Link class.

中覆盖 getImageLink() 方法

覆盖准备就绪后,您可以通过使用 jQuery 的 ajax 调用动态调用它。

即使重新加载页面,这仍然有效。