"Иногда" не работает корзина miniShop2
Построил сайт интернет-магазин на miniShop2. Сейчас в эксплуатации: http://baltgaz.ru/shop/ Некоторые посетители жалуются, что невозможно добавить товар в корзину. Не обращал внимание, списывал на техническую неграмотность некоторых пользователей в интернете, так как я перепробовал все возможные браузеры и устройства — всё исправно работает. Но:
При попытке разместить товары в Яндекс.Маркете техподдержка упорно отвечала, что Корзина не работает. Через знакомого аккаунт-менеджера в Яндексе удалось надавить на техподдержку и они записали следующее видео:
http://www.youtube.com/watch?v=hvvwM8dlqjQ
Прошу помочь понять — в чём может быть проблема? Не могу её устранить банально потому, что не могу её воспроизвести.
При попытке разместить товары в Яндекс.Маркете техподдержка упорно отвечала, что Корзина не работает. Через знакомого аккаунт-менеджера в Яндексе удалось надавить на техподдержку и они записали следующее видео:
http://www.youtube.com/watch?v=hvvwM8dlqjQ
Прошу помочь понять — в чём может быть проблема? Не могу её устранить банально потому, что не могу её воспроизвести.
Комментарии: 18
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Скажи честно, на сайте один контекст, или несколько? Было бы неплохо еще и ссылку дать, чтобы самостоятельно покликать.
Контекстов несколько (под разные города), я тоже про них подумал… Но в представленном видео пользователь находится в пределах одного контекста. Потому что в других ещё просто не создана страница просмотра Корзины…
В общем, проблема явно с доступом к сессии, и тут 2 варианта:
1. У работников Яндекса действительно отключены куки, в чем я сильно сомневаюсь.
2. Сессионная кука неправильно выставляются, и поэтому сессия не загружается. Я это повторить не могу, но может стоит выставлять её для всего домена, а не только для директории /shop/.
Можно попробовать покрутить системные настройки, ответственные за сессию.
Первый товар нормально добаялвется, последующие добавляются, но не отображаются в корзине.
Товары в корзине появляются после еще одного обновления страницы. У Вас кешированный вызов?
p.s. отключаем куки и получаем пустую корзину — g.recordit.co/b7rMRXzQu3.gif
То есть основной сайт компании по адресу baltgaz.ru,
и на хостинге создана папочка /shop/, поэтому по адресу baltgaz.ru/shop/ уже совсем другой сайт.
История очень длинная, почему так надо было сделать, не буду углубляться…
Поэтому то, что MODX автоматом ставит куки не для всего сайта, а только для /shop/ — это очень даже хорошо и правильно.
Поэтому я начинаю верить в то, что у некоторых модераторов Яндекса правда отключены куки… Вопрос как теперь с этим поступить?
Есть возможность настроить корзину miniShop2 без использования куки, а через сессии?
А вот для работы самих сессий нужна как минимум одна кука, куда будет сохраняться id сессии, чтобы сервер знал, что именно для тебя загружать.
В общем, магазин без кук у юзера работать не сможет. Ну, насколько я понимаю.
Причина найдена, спасибо участникам.
Как считаете, как следует поступить в такой ситуации?
Это наверное 90% интернет-магазинов перестанет работать.
Мне кажется проблема в чем-то другом.
К тому же (если видео не смонтировано) видно начиная с 17 секунды что у него корзина пустая, а при переходе на другую страницу вдруг оказывается что в ней 1 товар.
А чуть дальше он добавляет товар в корзину и товаров в мини-корзине становится 2.
Что значит нет куков. Это значит при любом запросе будет пустая корзина.
Кол-во товаров в корзине минишоп возвращает, а не считается на JS.
Так что при отсутствии кук 2 товара в корзине никак быть не может.
Первое что я заметил и попробовал бы поменять:
1. Сайты baltgaz.ru и baltgaz.ru/shop/ хоть и разные, но домены одинаковые и используют одно имя для сессионной куки — PHPSESSIONID. Не знаю влияет ли это, но я бы на одном из сайтов указал другое имя. Имя можно указать в настройке MODX session_name
2. Нет редиректа с www.baltgaz.ru/shop/
Если добавить что-то в корзину на сайте без www и перейти вручную на домен с www, то корзина очищается. Но ссылки по прежнему введут на baltgaz.ru/shop/
Может в этом все дело? Нужно оставить какой-то один сайт.
Конечно же я не уточнял у них что было… Но я думаю, что то у них с яндексом есть общее когда они сайты серфят.
p.s. если фигню написал то в силу малограмотности… простите.
Помню тоже были проблемы с сайтом внутри сайта, связанные с сессиями. Деталей сейчас не помню. Гуглил и разбирался долго, но единственно верным решением был перенос на поддомен.
Когда сайт — это папка внутри другого сайта, то это проблема. Всегда найдётся юзер, у которого куки для папок будут не правильно работать.
А если основной сайт на revo, то просто в нём и сделать магазин.
Понимаю, что проблема историческая, либо в упёртости заказчика, но реально — лучше новый поддомен или доработка основного сайта.
Ваша задача — убедить в этом заказчика)