【问题标题】:Magento get language code in template fileMagento 在模板文件中获取语言代码
【发布时间】:2011-07-05 07:36:28
【问题描述】:

我需要一个辅助函数来获取当前语言代码。我想在模板文件中使用它,例如 /products/view.phtml,仅用于测试目的。

它已经存在了吗?

我想到了一些类似 URL-helper 的东西

$url = $this->helper('core/url')->getCurrentUrl();

【问题讨论】:

    标签: php magento


    【解决方案1】:

    您可以通过这种方式获取当前的语言环境代码:

    $locale = Mage::app()->getLocale()->getLocaleCode();
    

    【讨论】:

    • 有了这个,你就可以得到当前在翻译模型中使用的语言环境,但两者在技术上都是正确的。
    • 我们如何获得 LocaleName? (就像我们在设置区域设置时在下拉菜单中看到的那样)
    【解决方案2】:

    本主题中针对“比利时:法语”(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)),所以我会推荐它。

    【讨论】:

      【解决方案3】:

      Afaik 没有这样的辅助函数,但您当然可以使用以下方法构建自己的:

      Mage::getStoreConfig('general/locale/code', Mage::app()->getStore()->getId());
      

      【讨论】:

        【解决方案4】:

        试试

        $_language_code = substr(Mage::getStoreConfig('general/locale/code', $_store->getId()),0,2);
        

        其中 $_store 是当前存储对象

        【讨论】:

        • 这正是我所需要的。 Tnx
        【解决方案5】:

        你也可以使用:

        $languageCode = Mage::app()->getStore()->getLanguageCode();

        不要忘记在管理员中配置商店区域设置。进入菜单:

        系统 -> 配置 -> 常规 -> 区域设置选项

        并为每个网站或商店设置正确的语言环境

        【讨论】:

          【解决方案6】:

          用于html元素lang属性等

          echo strtolower(Mage::getStoreConfig('general/country/default')); // "en"
          

          【讨论】:

            猜你喜欢
            • 2012-01-06
            • 2018-01-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-03-03
            • 1970-01-01
            • 2023-03-24
            相关资源
            最近更新 更多