Me gustaría configurar el sitio de Magento para poder reconocer el idioma y la ubicación predeterminados del usuario y mostrar el sitio en ese idioma y con la localización adecuada.
Por ejemplo:
Un usuario de Rusia con el idioma ruso predeterminado irá directamente al sitio web del idioma ruso con rublos como moneda y precios predeterminados.
es posible? ¿Si es así, cómo?
fuente
Hay una extensión Magento GeoIP (escrita por mí) que descarga el último archivo de datos de MaxMind y lo actualiza periódicamente.
Sugiero enganchar al
controller_front_init_before
evento. Puede usar el siguiente código para verificar obtener el código ISO 3166-1 del país del visitante y luego redirigirlo a la vista de la tienda corresponsal si tiene uno:El artículo detallado sobre el uso de esta extensión se puede encontrar aquí .
fuente
eche un vistazo a http://www.thefutureoftheweb.com/blog/use-accept-language-header si puede programar. Puede hacer un cambio en la
index.php
carga de la vista de tienda adecuada para el idioma.fuente
Otra cosa a tener en cuenta es GEO IP.
Un par de líneas de código le dará el código de país de los usuarios, que puede cambiar según eso.
Pero tenga en cuenta que tendrá problemas al usar cualquier código basado en la redirección si está usando la misma tienda con Enterprise Edition y Full Page Cache cuando se almacena en caché la primera página .
fuente
Vary: Accept-Language
en el encabezado tanto para el navegador como para el FPC.Otra opción es usar la configuración auto_prepend de PHP . Esto hará que todos los scripts manejados por PHP ejecuten el script antes de que se ejecute el script solicitado real, pero después .htaccess (si está usando eso).
Este enfoque combinado con algunas de las otras sugerencias (por ejemplo, usar MaxMind para datos de ubicación geográfica y vistas de tiendas para regiones específicas) puede resultar en un enfoque bastante limpio.
Si está ejecutando una versión de Magento> = 1.4, el código de tienda predeterminado se puede configurar estableciendo el valor $ _SERVER ['MAGE_RUN_CODE'].
En el archivo .htaccess o en la configuración de apache, agregue lo siguiente:
php_value auto_prepend_file /var/www/mystore/path/to/script.php
Cuando
script.php
realice cualquier lógica comercial necesaria y establezca el código de tienda apropiado:Una cosa a tener en cuenta es que esto se aplicará a todos los archivos PHP solicitados, por lo que deberá tenerlo en cuenta.
fuente