Как получить доступ к сеансу пользователя Magento извне Magento?

Я пытаюсь получить доступ к сеансу клиента Magento в другой части моего веб-сайта.

domain.com/shop/ <- Magento domain.com/test.php 

Сам магазин работает как шарм, однако я пытаюсь определить в test.php, если клиент вошел в систему, поэтому я могу отобразить его имя со ссылкой на его корзину.

Содержание test.php :

 <?php require_once dirname(__FILE__).'/shop/app/Mage.php'; umask(0); Mage::app('default'); Mage::getSingleton('core/session', array('name' => 'frontend')); var_dump(Mage::getSingleton('customer/session')->isLoggedIn()); ?> по <?php require_once dirname(__FILE__).'/shop/app/Mage.php'; umask(0); Mage::app('default'); Mage::getSingleton('core/session', array('name' => 'frontend')); var_dump(Mage::getSingleton('customer/session')->isLoggedIn()); ?> 

Я продолжаю возвращать bool (false) . Я зарегистрирован в Magento на домене.com/shop/, поэтому ожидается «истина».

Я что-то забыл?

Solutions Collecting From Web of "Как получить доступ к сеансу пользователя Magento извне Magento?"

Я бы рекомендовал проверить путь к файлу, который задает Magento. Скорее всего, он настроен на /shop , поэтому cookie не будет доступен для вашего файла над ним.

Вы можете изменить путь, который использует Magento, чтобы установить его cookie на панели управления в разделе « System -> Configuration -> Web (under the General heading) -> Session cookie management

он находится под confuguration-> web на Magento ver. 1.10.1.1

Эта же проблема сводила меня с ума. Я работал над следующим, пока последний элемент не решил его:

  • Установлен ли правильный идентификатор магазина Mage (текущий магазин)?
  • Используете ли вы тот же путь сеанса, что и Magento?
  • Используете ли вы тот же (дополнительный) домен для целей cookie?
  • Вы используете HTTP или HTTPS как внутри, так и снаружи Magento?

Если вы отметили все вышеперечисленное, убедитесь, что вы сначала инициализировали первый сеанс «frontend» следующим образом:

 // Initialise the core "frontend" session Mage::getModel('core/session', array('name' => 'frontend')); 

Затем вы можете получить доступ к клиенту / сеансу следующим образом:

 $customer = Mage::getSingleton("customer/session", array('name' => 'frontend'))->getCustomer();