Magento语言按钮商店视图

时间:2013-04-02 14:34:36

标签: magento localization

我在荷兰有一个网站。 http://www.domain.comhttp://www.domain.com/german的德国国旗按钮。

我用当地语言德语制作了一个名为德语的商店视图。 如何在链接www.domain.com/german

上查看此商店视图

1 个答案:

答案 0 :(得分:0)

这样做的方法很少。

1)在网址中启用商店代码。

Magento允许您将商店视图的商店代码添加到URL。例如,如果荷兰商店视图的代码为dutch且德国商店视图的代码为german,则Magento将自动加载正确的商店。 domain.com/dutch将加载荷兰语版本,domain.com/german将加载您网站的德语版本。此解决方案的缺点是即使对于主域也添加了商店代码。

配置设置可以在管理面板(又名后台,BO)>中找到。系统>配置>网络>网址选项。在那里,您会找到“向网址添加商店代码”选项。

2)编辑.htaccess文件。

如果您想避免解决方案的缺点1)您可以修改主.htaccess文件。添加将搜索/german后缀的条目,并将加载德语商店代码。这是一个小例子(我不是这方面的专家,但它应该是这样的):

SetEnvIf Host .*domain.com/german.* MAGE_RUN_CODE="german"

您可以使用.htaccess更多。如果您想了解有关.htaccess内容的更多信息,请在网上搜索。

3)修改应用程序的index.php

这与解决方案2)非常相似,但您可以直接在PHP中执行此操作。查找

$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
在index.php中

行,并用以下内容替换它:


if (!$_SERVER['MAGE_RUN_CODE'] && strpos($_SERVER['HTTP_HOST'], '/german') !== false) {
    $mageRunCode = 'german';
} else {
    $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
}

4)向Apache vhost添加一个新条目。

为域domain.com/german创建一个新的虚拟主机(vhost)并将其放在SetEnv MAGE_RUN_CODE "german"

在我看来,最好的选择是2)。它是最灵活的,您不必更改任何代码。对于开发工作站4)也足够了。

请注意,这些只是示例,它们可能无法在第一次拍摄时使用。我是从记忆中写下来的,现在我无法真正检查它们。希望这能让您了解如何处理您的情况。