質問

ユーザーのデフォルト言語と場所を認識し、その言語で適切なローカリゼーションでサイトを表示できるようにMagentoサイトを構成したいと思います。

例えば:

デフォルトとしてロシア語を持つロシアのユーザーは、デフォルトの通貨と価格としてRublesを持つロシア語のWebサイトに直接送られます。

これは可能ですか?もしそうなら?

役に立ちましたか?

解決

GeoipとStoreビューは、この問題を解決するのに役立ちます。

Geoip次のようなプロバイダーを使用できます 最大 GEOIPデータベース用(または、ヘッダーに国を追加するWebサーバーモジュールとしてロードします)。

IPアドレスに基づいて、顧客を適切なストアビューにリダイレクトできます(ストアビュースイッチャーによって生成されたリンクを確認します。

ビューを保存します

ロシア語は店の眺めであるべきです。 Store View Switcherを確認して、顧客に使用する必要があるリンクを確認してください。

リダイレクト後、Cookieを設定して、顧客をストアビューに関連付けることができます。

他のヒント

最新のMaxmindデータファイルをダウンロードし、定期的に更新するMagento Geoip拡張機能(MEが書いた)があります。

引っ掛けることをお勧めします controller_front_init_before イベント。次のコードを使用して、ISO 3166-1訪問者の国のコードを取得してから、彼を対応者のストアビューにリダイレクトできます。

$geoIP = Mage::getSingleton('geoip/country');
$code = $geoIP->getCountry();

/*
 * Check if store view for this country/language exists and it is not a current store view. 
 * If so do a redirect.
 * You can also take a language from user agent into consideration.
 */

この拡張機能の使用に関する詳細な記事を見つけることができます ここ.

見るべきもう1つはGeo IPです。

コードの2行には、ユーザーの国コードが提供されます。これに基づいて切り替えることができます。

しかし、あなたはそうすることに注意してください 問題があります あなたがいる場合は、リダイレクトベースのコードを使用します 最初のページヒットとしてエンタープライズエディションとフルページキャッシュを備えた同じストアを使用する.

を見てみましょう http://www.thefutureoftheweb.com/blog/use-accept-language-headerプログラムできる場合。で切り替えることができます index.php 言語に適したStoreViewのロード。

別のオプションは、PHPを使用することです auto_prendy 構成。これにより、PHPによって処理されたすべてのスクリプトがスクリプトを実行することになります 実際に要求されたスクリプトが実行されますが .htaccess(それを使用している場合)。

このアプローチは、他の提案のいくつか(たとえば、GEOの位置データにMaxmindを使用し、特定の領域の保存ビューを使用する)と組み合わせることで、かなりクリーンなアプローチをもたらす可能性があります。

Magento> = 1.4のバージョンを実行している場合、$ _Server ['mage_run_code']値を設定して、デフォルトのストアコードを構成できます。

.htaccessファイルまたはApacheの構成のいずれかに、次のように追加されます。

php_value auto_prepend_file /var/www/mystore/path/to/script.php

あなたの中で script.php 必要なビジネスロジックを実行し、適切なストアコードを設定します。

<?php
if (get_ip_location($_SERVER['REMOTE_ADDR']) == 'uk') {
    $_SERVER['MAGE_RUN_CODE'] = 'store_code_uk';
} else {
    $_SERVER['MAGE_RUN_CODE'] = 'store_code_us';
}

注意すべきことの1つは、これが適用されることです すべて PHPファイルが要求されているため、それを念頭に置いておく必要があります。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top