2

我在 index.php 中为 Magento 编写了一小段代码,以根据 Geoip 的 country_code 自动切换商店视图。

代码运行良好,但我不是专家,我无法判断我是否有效地编写了代码。

我认为最好将 countryCode 保存到会话中。我知道如何在扩展中做到这一点,但我无法弄清楚如何在 index.php 中做到这一点。

$geocountryCode = geoip_country_code_by_name($_SERVER['REMOTE_ADDR']);
$countryList = array("AT","BE","BG","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","SK","SI","ES","SE","GB","RO");

    if(!in_array($geocountryCode, $countryList)) {
        $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'int';
        $mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';

    } else {
        $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'default';
        $mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
    }

    Mage::run($mageRunCode, $mageRunType);  

此致,

雷米

4

0 回答 0