Как изменить текущую фотографию обложки продукта с помощью JavaScript в PrestaShop 1.7 - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь установить индивидуальный предварительный просмотр продукта ( футболка с загруженным логотипом ) в качестве эскиза продукта .Это изображение, тип файла: JPEG - у меня есть полный URL с http: NEW_PRODUCT_THUMB.

Как установить этот URL как изображение продукта / cover / thumbnail?

Для тестов я попытался установить его с помощью 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

1 Ответ

0 голосов
/ 10 мая 2019

Решение № 1

Почему бы не отредактировать файл шаблона product.tpl Smarty и добавить условие о том, что если этот продукт был настроен в рамках текущей покупки, вы отображаете определенное изображение вместо обложки?

Вы можете получить настроенное изображение, вызвав следующий метод из класса Cart:

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

А для изменений в реальном времени вы, конечно, можете сохранить свой код jQuery.

Решение № 2

Та же логика, но вместо этого вы можете переопределить метод getImageLink() в классе Link.

Как только ваше переопределение будет готово, вы можете вызывать его динамически с помощью вызова ajax с jQuery.

Это будет работать, даже если страница будет перезагружена.

...