Eu gostaria de configurar o site Magento para poder reconhecer o idioma e o local padrão do usuário e exibir o site nesse idioma e com a localização apropriada.
Por exemplo:
Um usuário da Rússia com o idioma russo como padrão irá diretamente para o site do idioma russo com Rublos como a moeda e os preços padrão.
Isso é possível? Se sim, como?
fonte
Existe uma extensão Magento GeoIP (escrita por mim) que baixa o arquivo de dados mais recente do MaxMind e o atualiza periodicamente.
Sugiro ligar para o
controller_front_init_before
evento. Você pode usar o código a seguir para verificar o código ISO 3166-1 do país do visitante e, em seguida, redirecioná-lo para a visualização de loja correspondente, se você tiver um:O artigo detalhado sobre o uso dessa extensão pode ser encontrado aqui .
fonte
dê uma olhada em http://www.thefutureoftheweb.com/blog/use-accept-language-header se você pode programar. Você pode fazer uma alteração no
index.php
carregamento da visualização de armazenamento apropriada para o idioma.fonte
Outra coisa a considerar é o GEO IP.
Algumas linhas de código fornecerão o código do país do usuário, que você poderá alternar com base nisso.
Mas observe que você terá problemas ao usar qualquer código baseado em redirecionamento se estiver usando o mesmo armazenamento com o Enterprise Edition e o Full Page Cache quando a primeira página for armazenada em cache .
fonte
Vary: Accept-Language
no cabeçalho do navegador e do FPC.Outra opção é usar a configuração auto_prepend do PHP . Isso fará com que todos os scripts manipulados pelo PHP executem o script antes da execução do script solicitado, mas após o .htaccess (se você estiver usando isso).
Essa abordagem combinada com algumas das outras sugestões (por exemplo, o uso do MaxMind para dados de localização geográfica e visualizações de lojas para regiões específicas) pode resultar em uma abordagem bastante limpa.
Se você estiver executando uma versão do Magento> = 1.4, o código de loja padrão pode ser configurado definindo o valor $ _SERVER ['MAGE_RUN_CODE'].
No arquivo .htaccess ou na configuração do apache, adicione o seguinte:
php_value auto_prepend_file /var/www/mystore/path/to/script.php
Na
script.php
execução de qualquer lógica comercial necessária e defina o código de loja apropriado:Uma coisa a notar é que isso se aplicará a todos os arquivos PHP solicitados, portanto, você deve ter isso em mente.
fonte