Tengo tres sitios web en una instalación de Magento, cada uno tiene su propio dominio.
Ahora, debido a la seguridad del navegador web, no puede acceder a cookies de otro dominio, ni a sesiones.
De alguna manera, necesito poder pasar datos temporales entre dos tiendas diferentes con dominios diferentes.
Mi caso de uso específico:
Estoy usando GeoIP para activar una redirección a la tienda de países correcta, sin embargo, también necesito poder anular esto manualmente. Ahora, en este momento, tengo el problema de que estoy anulando manualmente en la tienda actual con una cookie, sin embargo, cuando soy redirigido a la otra tienda, no hay ninguna cookie en la otra tienda, por lo que retrocede y busca a los usuarios tienda basada en GeoIP. Sin embargo, esto crea un bucle infinito que redirige entre las tiendas.
Esto se hace averiguando el código del sitio web para la tienda que quiero usar index.phpcon un módulo personalizado y ejecutando Magento con el código correcto. Esto maneja todos los redireccionamientos, etc. para mí entonces.
fuente

Respuestas:
Puede compartir
frontendcookies entre el sitio web de magento con diferentes dominios utilizando esa solución ainixon.me/set-cookie-on-cross-domains .Necesita crear un
cookies.phparchivo con el siguiente códigoy en la plantilla de magento deberá agregar el siguiente código después de la
<body>etiquetafuente
Simplemente redirija con y
?SID=yourSessionIdluego puede usarlo en la otra vista de la tienda.fuente
\Mage_Core_Model_Session_Abstract::setSessionId()así que solo verifique cuándo está establecida la identificación de la sesión y configúrela.Solo asegúrese de que
Use SID in frontendesté habilitado.Ninguna ...
Mage::getUrl()$this->_redirectUrl($url);oMage::app()->getFrontController()->getResponse()->setRedirect()Entonces contendrá el respeto
SID.Si está utilizando el
filesalmacenamiento de sesión, solo asegúrese de que el directorio sea comúnsymlinked; Si está utilizando Memcache / Redis / DB, esto no es una preocupación.-
Solo tenga en cuenta que hay muchas formas elegantes de manejar la redirección GeoIP más arriba que Magento. Puede hacerlo en el nivel del servidor web (verificando la presencia de su respectiva cookie "sin redireccionamiento").
fuente
En su administrador, vaya a Configuración> Web> Sesión> Usar SID en Frontend y habilítelo.
Cuando vaya de un sitio a otro, pase la sesión incluyéndola en la url (úsela
&si ya la usó?para un$_GETparámetro)fuente