Не правильно отображается подарок в корзине в prestashop 1.7.8 и не правильно отображается в оформлении заказа
Вернуться назад
32

Не правильно отображается подарок в корзине в prestashop 1.7.8 и не правильно отображается в оформлении заказа

Немного опишу про подарок в prestashop

Если вы являетесь новичком в prestashop то возможно вы не знаете что в магазине можно создавать подарки по определенным правилам для пользователя или для всех пользователей, а также можно устанавливать правило по категориям в которых находятся товары, настраивать для какого товара будет применяться подарок - это все настраивается в разделе скидки, именно там где вы создаете купоны.

Что бы увидеть подарок для товара, достаточно просто товар добавить в корзину и перейти в корзину, и там вы увидите подарок.

Но мне пришлось встретить такую не понятную проблему с выводом подарка на странице корзины. То что подарок выглядит как товар, но не как подарок.

Ниже я описал проблему как ее можно решить.

Сейчас будем решать

На сайте настраивается подарок для пользователя по определенным правилам в разделе "Скидки". И когда вы создаете скидку как купон, только у него не указан код, то этот купон является как подарок на рисунке 1.

Указываем пустой код в скидке

(Рисунок 1. Указываем пустой код в скидке)

Когда вы создаете скидку как купон, только у него не указан код, то этот купон является как подарок на рисунке
Когда вы создаете скидку как купон, только у него не указан код, то этот купон является как подарок на рисунке

Подарок на сайте выводится в корзине на рисунке 2

Как выглядит подарок в корзине в 1.7.8 версии prestashop

(Рисунок 2. Как выглядит подарок в корзине в 1.7.8 версии prestashop)

Была найдена ошибка с выводом этого подарка в корзине в prestashop 1.7.8 версии. Проблема заключается в том что подарок выводится как товар в списке, а не как подарок на рисунке 3

Что не должно выводиться у подарка в корзине

(Рисунок 3. Что не должно выводиться у подарка в корзине)

Что бы исправить эту проблему нужно в коде добавить небольшой кусок кода, в файле \classes\Cart.php после 858 строчки кода, в функции getProducts:

На рисунке 4 наглядный пример в редакторе

Как я редактировал в редакторе

(Рисунок 4. Как я редактировал в редакторе)

Тоесть в файле \classes\Cart.php это будет выглядить следующим образом:

После добавления куска кода в файл у вас на странице продукта уже должен будет отобразиться товар как подарок на рисунке 5

Как должен выглядить подарок в корзине

(Рисунок 5. Как должен выглядить подарок в корзине)

Итог

У нас получилось вывести правильно подарок в корзине. Далее в коде из массива приходил ключ is_gift которое хранило не правильное значение как false и мы исправили эту проблему.

создано:
14.09.2022
обновлено:
15.11.2022
автор:
admin
Теги
yandex metrika