Magento внешний интерфейс (сессия) cookie - PullRequest
4 голосов
/ 14 июня 2011

У меня странное поведение в IE в моем магазине magento с потерей cookie-файла внешнего интерфейса (сессии).У кого-нибудь есть подсказка, где в magento-коде устанавливается cookie внешнего интерфейса?

Спасибо!

1 Ответ

8 голосов
/ 14 июня 2011

Afaik, файл cookie 'frontend' устанавливается прямо перед отправкой текущего действия.

Взгляните на Mage_Core_Controller_Varien_Action::preDispatch().

Начало сеанса

Глядя в preDispatch(), найдите строку, которая начинает сеанс:

 Mage::getSingleton('core/session', array('name' => $namespace))->start();

Который обычно (если не переопределен) в конечном итоге отображается на

 Mage_Core_Model_Session_Abstract_Varien::start()

Это место, где инициализируется весь стандартный сеанс, , включая настройки cookie с использованием session_set_cookie_params.

Ревалидация

Имейте в виду, что, как только файл cookie уже существует, первое искажение файла cookie может уже произойти, пока создается базовый сеанс, то есть до вызова start(). Это потому, что конструктор вызывает revalidateCookie() при создании экземпляра основного сеанса. См:

 Mage_Core_Model_Session_Abstract_Varien::init()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...