【发布时间】:2011-07-05 07:36:28
【问题描述】:
我需要一个辅助函数来获取当前语言代码。我想在模板文件中使用它,例如 /products/view.phtml,仅用于测试目的。
它已经存在了吗?
我想到了一些类似 URL-helper 的东西
$url = $this->helper('core/url')->getCurrentUrl();
【问题讨论】:
我需要一个辅助函数来获取当前语言代码。我想在模板文件中使用它,例如 /products/view.phtml,仅用于测试目的。
它已经存在了吗?
我想到了一些类似 URL-helper 的东西
$url = $this->helper('core/url')->getCurrentUrl();
【问题讨论】:
您可以通过这种方式获取当前的语言环境代码:
$locale = Mage::app()->getLocale()->getLocaleCode();
【讨论】:
本主题中针对“比利时:法语”(Be_Fr)给出的答案的结果:
strtolower(Mage::getStoreConfig('general/country/default')); = be
substr(Mage::getStoreConfig('general/locale/code'),0,2); = fr
Mage::app()->getLocale()->getLocaleCode(); = fr_BE
注意
Mage::app()->getLocale()->getLocaleCode() == Mage::getStoreConfig('general/locale/code')
但是对于第二个,您可以指定其他商店而不是默认商店 (Mage::getStoreConfig('general/locale/code', $storeId)),所以我会推荐它。
【讨论】:
Afaik 没有这样的辅助函数,但您当然可以使用以下方法构建自己的:
Mage::getStoreConfig('general/locale/code', Mage::app()->getStore()->getId());
【讨论】:
试试
$_language_code = substr(Mage::getStoreConfig('general/locale/code', $_store->getId()),0,2);
其中 $_store 是当前存储对象
【讨论】:
你也可以使用:
$languageCode = Mage::app()->getStore()->getLanguageCode();
不要忘记在管理员中配置商店区域设置。进入菜单:
系统 -> 配置 -> 常规 -> 区域设置选项
并为每个网站或商店设置正确的语言环境
【讨论】:
用于html元素lang属性等
echo strtolower(Mage::getStoreConfig('general/country/default')); // "en"
【讨论】: