На одном из проектов столкнулся с очень странным глюком, на устранение которого потратил почти целый день.
Поэтому решил создать пост сразу с решением, как для себя, так и для тех, кто, возможно, столкнётся с такой же бедой.
Суть проблемы: в качестве корзины использую модуль Multi basket ajax.
В корзину товары добавляются нормально, количество товаров одной позиции меняется, но вот удалить товар из корзины не получается. Страница перезагружается, и товар опять в корзине. Кроме того, если уйти со страницы товара, то в корзине уже может не быть товара, который туда был добавлен ранее. В общем творилась чертовщина какая-то.
Методом тыка, путём проб и ошибок я (вроде как) докопался до истины.
Дело в том, что я использовал плагин Jshoppingrouter - Full Category Path для JoomShopping. Плагин строит полный путь от главной страницы до товара, включая псевдонимы всех категорий. Для того, чтобы плагин работал как задумано, главной страницей обязательно нужно сделать Главную категорую магазина JoomShopping.
По странному стечению обстоятельств, именно в данной ситуации перестаёт нормально работать модуль Multi basket ajax и начинются глюки, описанные мною ранее.
Решил я это дело следующим образом: создал скрытый пункт меню (допустим «Магазин» c псевдонимом «shop»), а тип этого пункта меню указал как JoomShopping -> Список категорий/Магазин. Т.е. главная страница магазина JoomShopping. После чего всё заработало. Правда за одним исключением: на главной странице сайта (которая так же имеет тип "Список категорий/Магазин") товар по прежнему из корзины не удаляется. Кроме того, в URL'е появляется ещё один сегмент
— /shop/.
Затем я решил попробовать сделать главной страницей сайта обычный материал. И... бинго! Все глюки исчезли.
При этом плагин Full Category Path вроде как работает нормально.
На этом пока всё. Если обнаружатся какие-то глюки, я обязательно дополню этот пост.
Надеюсь для кого-то вся эта писанина окажется полезной.