Magento Customer Session is empty

Magento Customer Session is empty

Некоторые разработчики разработчики – кто работает с Magento встречались с проблемой, что пользовательская сессия не содержит данных.

Наиболее распространенные проблемы:

  • пользователь не может авторизоваться в магазине
  • комментарий пользователя приходит, как от Гостя
  • не загружаются пользовательские данные для формы

Проблема зачастую трудно поддается диагностике и соответственно причина её возникновения не всегда очевидна, хотя решается достаточно быстро 🙂

Чтобы быстро найти и решить проблему, нужно знать как и когда инициализируются сессии в Magento. Детальную информацию можно найти в статье Early Magento Session Instantiation is Harmful.

 

Список событий которые помогут ориентироваться в поиске нужной функции

  • controller_front_init_before
  • controller_front_init_routers
  • adminhtml_controller_action_predispatch_start

Вам нужно найти все точки входа по этим событиям, обычно это Obsever/Controller и посмотреть есть ли использование сессий. Чтобы более точно определить является ли эта функция проблемной вы можете закомментировать ее содержимое.

Как альтернативу сессиям вы можете использовать файлы Cookie. Если хранить информацию требуется (например по соображениям безопасности) исключительно в сессии, то рекомендуется использовать другие события.

eCommerce/Magento Developer, PHP architect, based in Ukraine