latest php oop session magento e-commerce

php - latest - ¿Cómo acceder a la sesión del usuario de Magento desde fuera de Magento?



magento 2.2.5 download (3)

Yo recomendaría verificar la ruta de la cookie que establece Magento. Lo más probable es que esté configurada en /shop , por lo que la cookie no podrá acceder a su archivo encima.

Puede modificar la ruta que utiliza Magento para configurar su cookie en el panel de control en System -> Configuration -> Web (under the General heading) -> Session cookie management

Estoy intentando acceder a la sesión del cliente de Magento en otra parte de mi sitio web.

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

La tienda en sí funciona como un encanto, sin embargo, estoy tratando de determinar dentro de test.php si un cliente está conectado, por lo que puedo mostrar su nombre con un enlace a su carrito.

Contenido de test.php hasta el momento:

<?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()); ?>

Sigo recibiendo bool (falso) devuelto. Estoy conectado a Magento en domain.com/shop/ por lo que se espera ''verdadero''.

¿Estoy olvidando algo?


está bajo confuguration-> web en Magento ver. 1.10.1.1


El mismo problema me estaba volviendo loco. Trabajé a través de lo siguiente hasta que el último elemento lo resolvió:

  • ¿Se ha configurado la identificación correcta de la tienda Mage (tienda actual)?
  • ¿Estás usando la misma ruta de sesión que Magento?
  • ¿Estás usando el mismo (sub) dominio para propósitos de cookies?
  • ¿Estás usando HTTP o HTTPS dentro y fuera de Magento?

Si ha verificado todo lo anterior, asegúrese de inicializar una sesión principal "frontend" primero como esta:

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

Luego puede acceder al cliente / sesión de esta manera:

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