Проблема с удалением товара из корзины
добрый день.
Столкнулся с проблемой с удалением товара из корзины.
Кнопка удаления находится непосредственно на странице товара, и при удаление вылезает всплывающее окно «Ошибка удаления товара» (от minishop).
Перерыл и перекопал все что возможно, но понять причину ошибки так и не смог.
Может вы подскажете с чем это связано?
Код ссылки:
Столкнулся с проблемой с удалением товара из корзины.
Кнопка удаления находится непосредственно на странице товара, и при удаление вылезает всплывающее окно «Ошибка удаления товара» (от minishop).
Перерыл и перекопал все что возможно, но понять причину ошибки так и не смог.
Может вы подскажете с чем это связано?
Код ссылки:
<a href="#" class="remFromCart" data-key="[[*id]]"></a>
Заранее спасибо Комментарии: 8
Ошибка в коде ссылки
Должно быть не [[*id]], а [[+key]]. Ибо товары удаляются не по номеру, а по ключу, который генерируется из номера страницы-товара и дополнительных свойств. Добавляются по номеру, да.
Вот цитата из оригинального чанка товара в корзине
<a href="#" class="remFromCart" data-key="[[*id]]"></a>
Должно быть не [[*id]], а [[+key]]. Ибо товары удаляются не по номеру, а по ключу, который генерируется из номера страницы-товара и дополнительных свойств. Добавляются по номеру, да.
Вот цитата из оригинального чанка товара в корзине
<a href="#" class="remFromCartLink" title="Удалить из корзины" data-key="[[+key]]"><i class="icon-remove"></i></a>
Простыни кода я потёр.
Хм… вроде все выставил. Перепроверил.
Но все равно удаление не происходит. Опять же вылетает ошибка.
Страница товара:
galina-beaut.ru/katalog/busyi/iz-malaxita/busyi-1.html
Но все равно удаление не происходит. Опять же вылетает ошибка.
Страница товара:
galina-beaut.ru/katalog/busyi/iz-malaxita/busyi-1.html
А кто вам на этой странице выставит плейсхолдер [[+key]]?
Его выставляет сниппет miniShop при генерации корзины, и работают они только в корзине. Зачем удалять товар из корзины на странице товара — это не логично ведь?
Если есть огромное желание сделать именно так — пишите сниппет и запускайте на странице товара. Он должен перебрать $_SESSION['minishop']['goods'], найти там товар и выставить плейсхолдер с ключом этой позиции.
Его выставляет сниппет miniShop при генерации корзины, и работают они только в корзине. Зачем удалять товар из корзины на странице товара — это не логично ведь?
Если есть огромное желание сделать именно так — пишите сниппет и запускайте на странице товара. Он должен перебрать $_SESSION['minishop']['goods'], найти там товар и выставить плейсхолдер с ключом этой позиции.
Хорошо. Я вас понял.
Спасибо Василий, будем думать.
Спасибо Василий, будем думать.
Немного поясню, почему сделано именно так.
В miniShop вы можете добавлять товары с параметрами, то есть, id будет один и тот же, а свойства разные. В корзине это должно быть разными элементами, поэтому id в качестве ключа массива использовать нельзя.
При выводе корзины скрипт выводит все элементы корзины с ключиком, чтобы можно было удалить или изменить их количество, а на странице товара просто не ясно какой ключ выставлять — ведь в корзине он может быть несколько раз и с разным цветом (или еще чем).
Вам этот функционал, пока, не нужен, но решение универсальное, поэтому придется терпеть.
В miniShop вы можете добавлять товары с параметрами, то есть, id будет один и тот же, а свойства разные. В корзине это должно быть разными элементами, поэтому id в качестве ключа массива использовать нельзя.
При выводе корзины скрипт выводит все элементы корзины с ключиком, чтобы можно было удалить или изменить их количество, а на странице товара просто не ясно какой ключ выставлять — ведь в корзине он может быть несколько раз и с разным цветом (или еще чем).
Вам этот функционал, пока, не нужен, но решение универсальное, поэтому придется терпеть.
ага. Понял.
Как-то не задумывался по этому поводу, а ведь ваша реализация весьма гибко продумана!
Низкий поклон Вам!)
Как-то не задумывался по этому поводу, а ведь ваша реализация весьма гибко продумана!
Низкий поклон Вам!)
На здоровье!
Добрый вечер.
Объясните пожалуйста, как сделать чтобы кнопки «удалить из корзины» работали из div'ов
Объясните пожалуйста, как сделать чтобы кнопки «удалить из корзины» работали из div'ов
<div class="remove close-btn basket-item">
а не только когда они находятся в <td class="remove close-btn basket-item">
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.