Автор Тема: Помогите решить проблему с корзиной или cookie  (Прочитано 2586 раз)

10 Февраля 2013, 17:03:01
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго дня.
Есть проблема с магазином на PrestaShop - Version 1.3.2.3

При добавлении любого товара в корзину также добавляется несуществующий товар. ID, Артикул и названия разные.
Проверял:
В админ панели, каталог товаров - товара такого нет.
В базе MySQL - такой товар есть.
Модуль корзины менял - не помогло.
Уменьшал время кеширования - не помогло.

Возможно это связанно с cookie.

Подскажите, пожалуйста, в чём может быть проблема?
10 Февраля 2013, 18:11:09
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 20842
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Может быть установлен модуль, который добавляет в корзину этот товар как подарок? 
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
10 Февраля 2013, 18:23:02
Ответ #2
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Может быть установлен модуль, который добавляет в корзину этот товар как подарок?

Спасибо за ответ.
Как раз проверил все модули на наличие ненужных, ничего подозрительного не нашел.
Был один для урлов, но отключение его тоже не помогло.

Кстати, "подарочная упаковка" и "налог на упаковку" - отключено.

На данный момент заметил, что 2й (уже несуществующий) товар, добавляется после обновления cookies в браузере.
Думаю попробовать перенести сайт на другой хостинг и там посмотреть, что будет.

Продолжаю искать в чём проблема.
10 Февраля 2013, 18:48:35
Ответ #3
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Думаю попробовать перенести сайт на другой хостинг и там посмотреть, что будет.
Не помгло  :(
Кстати добавилось два товара которые включены и доступны для заказа ...
Верхний (первый) всегда не тот товар который я выбирал т.е. он добавляется в случайном порядке.
10 Февраля 2013, 19:11:00
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 32995
  • Репутация: +26759/-0
    • Просмотр профиля
Отключить кеширование пробывал?
10 Февраля 2013, 19:26:51
Ответ #5
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Отключить кеширование пробывал?
Спасибо за совет, ещё раз попробую:
1. /tools/smarty/compile/ удалил все файлы кроме индекс.пхп
2. очистил куки в браузере
3. обновил страницу и добавил товар в корзину
Итог: добавилось два товара  :-\
11 Февраля 2013, 12:05:22
Ответ #6
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86050
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Отключить кеширование пробывал?
В админке, производительность - Кеш отключить.
Цитировать
На данный момент заметил, что 2й (уже несуществующий) товар, добавляется после обновления cookies в браузере.
Можно попробывать отследить хуки
updateQuantity
addproduct
Еще проверить в бд установленные модили (может в админке не показывает, а модуль активный) и хуки в этих модулях.
12 Февраля 2013, 23:02:35
Ответ #7
  • Пользователь
  • **
  • Сообщений: 65
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У меня была похожая проблема. Я по глупости поставил "крыво" кнопку удаления заказа из бэк-офиса. В результате начали добавляться товары которых не существует(демо-товары например).
Исправил только чисткой вручную базы данных.
13 Февраля 2013, 11:12:54
Ответ #8
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответы.
Хоть видно куда копать.
Сайт изначально мне попался "запущенным", но рабочим  :)
Думаю, что мне нужно ещё почистить от ненужного в файлах сайта (код страниц вроде бы уже без лишнего) и в самой БД.
Если будут у вас ещё мысли где может быть "собака зарыта" буду рад помощи  ;)
12 Марта 2013, 11:42:19
Ответ #9
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Смогли решить проблему?

Тоже самое  - верхней строчкой добавляется несуществующий товар. А точнее давно удаленный. Базу данных переносили, а там было набито 14 товаров. Новые действующие товары начинаются с 15го ID. Но при заказе он просто добавляет левый несуществующий товар, находящийся под номером 11.

Никаких модулей с подарками, аксессуаров, комбинаций, акций, по которым этот товар прилагался бы - не установлено. К тому же он и не бесплатный, а просто добавляется с "когда-то забитой ценой".

Помогите кто-нибудь, пожалуйста  :'(
12 Марта 2013, 12:41:01
Ответ #10
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22122
  • Репутация: +17109/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Удали старые товары из базы (со связями по таблицам).
В таблице ps_hook, смотришь ид хуков для корзины, заказа.
Например, actionCartSave - ID:10
Смотришь таблицу ps_hook_module, какой модуль запускается на этот хук.
Модули с ид: 4, 10, 72 ....
Смотришь название модуля ps_module, проверяешь и т.д.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
12 Марта 2013, 12:51:07
Ответ #11
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проблему решил.
Сейчас всё, вроде бы, нормально.
Помогло:
Уменьшил время жизни куки (неуверен)
Удаление\отключение ненужных модулей.
Возможно убрал, что-то в самом шаблоне.

Думал лесть в БД и чистить товары и модули, но обошлось :)

В общем как-то так. Главное убрать лишнее.
12 Марта 2013, 12:56:07
Ответ #12
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22122
  • Репутация: +17109/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Цитата: mrsliding
Удаление\отключение ненужных модулей.
В общем как-то так. Главное убрать лишнее.
О чем я и писал. Какой-то модуль запускается при добавлении товара в корзину.
Если нельзя просто отключить модуль (может быть такое, что модуль удалили, а он сделан не правильно и при удалении оставляет данные в базе), а нужно найти и исправить, то тогда смотреть в базе какие модули вешаются на хук добавления товара.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
12 Марта 2013, 13:49:18
Ответ #13
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за оперативные ответы!

Но я наткнулся на пост, где посоветовали почистить все эти удаленные товары в  базе данных в таблице order_detail

Вроде помогло. Создал несколько тестовых заказов - левых товаров больше не появляется. Таблица эта меняется тоже нормально - плюсует только реальные товары.

Так что модули не отслеживал, надеюсь такая хрень не повторится.   :)



П.С.: И еще, если кому-то понадобится, у меня не только добавлялись несуществующие товары, но и те товары, которые я сначала создал с ценой 999 рублей (просто для теста).. а потом через некоторое время у них поменял цену и набил комбинации. Так вот помимо удаленных товаров, добавлялись еще и эти, с ценой 999, несмотря на то, что в каталоге у них совсем другая цена. Но они тоже нашлись в этой таблице и удачно удалились.
02 Июля 2013, 14:18:33
Ответ #14
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Почистить кэш. ВЕСЬ КЕШ!!! не буду об этом писать, тысячу раз написано ;)
 отключить кэш в админке, проверить, если не помогло, то зайти в базу май эс кью эль
и почистить таблицы:
order_carrier  -  доставка в заказе
order_history  - отображение в истории заказов
id_order - № заказа
order_detail – товары в заказе

сортируете по ай ди заказа и сравниваете со своим в админке.
если у вас в админке последний №100, а тут №200, то удаляете из базы с 101 по 200.

 если в каждом новом заказе новые товары, это 100% чистить базу.
 если в каждом новом заказе одни и те же позиции добавляются, то
   - удалить корзины покупателей
   - проверить, чтобы модули "корзина"  и все, связанные с  заказом и отображением заказа были в единственном числе
   - проверить, что удалили весь кэш, в некоторых версиях есть глючек не до конца кеш удаляется
   - проверить, чтобы ай ди товаров, ндс, доставки, покупателя не повторялось (в некоторых версиях престы допускается повторение ай ди)

  из этих таблиц, указанных выше формируются и отображается данные заказа. если это не помогло, то копать  нужно еще дальше и разбираться с кодом, возможно товары 2 раза записываются в базу, вариантов куча, но как правило лишние товары это  - удалили из админки заказы, а в базе данные по заказам остались.