#magento
#magento
Вопрос:
Вот краткое пошаговое описание того, что происходит.
- Пользователь добавляет товар в свою корзину / корзину и переходит к оформлению заказа. Они могут зарегистрироваться, оформить заказ в качестве гостя или войти в систему с существующей учетной записью.
- Клиент входит в систему с существующей учетной записью.
- Они попадают на страницу, информирующую их о том, что их корзина теперь пуста. Тем не менее, в правом верхнем углу ссылка на мою корзину все еще читается (1 товар) рядом с ней. Нажатие на эту ссылку просто загружает ту же страницу «Корзина пуста«.
Некоторые другие тесты, которые я провел, показали следующее: пользователь входит в систему, добавляет 3 товара в свою корзину, но выходит из системы перед тем, как перейти к оформлению заказа. Он возвращается на сайт позже и начинает новый заказ всего на 1 товар, выбирая логин при оформлении заказа. При этом в его корзине отображаются 3 товара из его предыдущего сеанса (его новый товар отсутствует), но рядом с ним отображается ссылка «Моя корзина» (4 товара).
Кто-нибудь знает, что может привести к исчезновению товаров из корзины во время перехода от не входа в систему к входу в систему?
Ответ №1:
Я уже сталкивался с этой проблемой раньше на серверах, на которых uhosin.session.encryptrunning патч suhosin. Я предполагаю, что вы используете безопасную корзину (если не должны), что, скорее всего, происходит здесь, так это то, что ваш сеанс теряется каждый раз, когда вы переключаетесь между http и https.
При переключении между HTTP и HTTPS ваш HTTP-сеанс не передается сеансу HTTPS. Это можно решить, поместив следующее в ваш файл .htaccess или php.ini:
php_value suhosin.session.encrypt Off
Дайте мне знать, если это работает, или если у вас все еще та же проблема, не забудьте перезапустить свой сервер после внесения изменений.
Комментарии:
1. Привет, спасибо — я думаю, что то, что вы говорите о переключении между http и https, звучит правильно. Однако я добавил строку в свой htaccess, перезапустил службу, и у меня все еще возникает та же проблема. Я убедился, что базовый URL-адрес для http и https установлен в System> Config. Интересно, есть ли что-нибудь еще, что я мог бы проверить.
2. Да, убедитесь, что изменение действительно вступило в силу, в зависимости от настроек вашего сервера, изменения .htaccesss может быть недостаточно. Также попробуйте отключить suhosin.session.cryptdocroot = Выкл. Для проверки, включены или выключены настройки, создайте info.php скрипт в вашем корневом каталоге
3. Оказывается, для этого сайта нет https. Я раньше не обращал на это внимания, так как это почти готовый сайт, который я унаследовал от другого разработчика. Оправданием, по-видимому, является то, что процесс оплаты actaul будет проходить удаленно на защищенной странице paypal. Как ни странно, для всех базовых URL-адресов установлен http (не https) — я все еще сталкиваюсь с этой проблемой.
Ответ №2:
Я решил это.
Оказывается, был установлен модуль ZetaPrints OrderApproval, который переопределял часть страницы оформления заказа.
По-видимому, это было что-то, что было добавлено, решило, что оно больше не нужно, а затем забыто.
Я отключил его, очистил кеш и вернул свою старую страницу оформления заказа.
Все снова работает.
Ответ №3:
Для меня это был вопрос управления сеансом Cooke и установки значения моего домена Cookie как такового:
.mydomain.com
Да, с точкой впереди.