Как изменить текущую фотографию обложки продукта с помощью javascript в PrestaShop 1.7
Я пытаюсь установить настроенный предварительный просмотр продукта (футболка с загруженным логотипом ) в качестве эскиза продукта . Это изображение, тип файла: 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 );
Проблема: каждые изменения-размер футболки, цвет запускают обновление страницы продукта, а затем - изображение по умолчанию было загружено (из базы данных, а не из моего редактора настройки JS).
Вот веб-страница, где настроенное изображение продукта установлено как миниатюра правильным образом, но я понятия не имею, как это сделать? https://products.printzware.com/home/114-faded-short-sleeves-tshirt.html#/4-size-one_size
Ответы - Как изменить текущую фотографию обложки продукта с помощью javascript в PrestaShop 1.7 / How to change current product cover photo with javascript in PrestaShop 1.7

10.05.2019 07:30:07
Решение №1
Почему бы не отредактировать ваш product.tpl
файл шаблона TPL Smarty и добавьте условие, указывающее, что если этот продукт был настроен в рамках текущей покупки, вы отображаете определенное изображение вместо обложки?
Вы можете получить настроенное изображение, вызвав следующий метод из класса Cart
:
getProductCustomization($id_product, $type = null, $not_in_cart = false)
И для изменений в реальном времени вы можете, конечно, сохранить свой код jQuery.
Решение №2
Та же логика, но вместо этого можно переопределить getImageLink()
в классе Link
.
Как только ваше переопределение будет готово, вы можете вызвать его динамически с помощью вызова ajax с помощью jQuery.
Это будет работать даже если страница перезагружается.