$collection = Mage::getModel('custom/table')->getCollection();
我有一个自定义表格,并且有一个字段country_code。
现在我将这个$ collection传递给我的javascript并使用其中的变量。
现在我想显示国家/地区名称而不是国家/地区代码。
有什么方法可以使用联接查询或其他任何方式在我的收藏中添加国家/地区名称?
所以在传递给js之前我想在我的集合对象中使用国家名称。
答案 0 :(得分:25)
Magento将国家/地区名称存储在区域设置文件中,以便您可以根据语言更改国家/地区名称。
如果您有国家/地区代码,并且想要获取国家/地区名称,请使用以下代码:
$country_name=Mage::app()->getLocale()->getCountryTranslation($country_code);
或者您也可以尝试
// $countryCode looks like "US"
$country = Mage::getModel('directory/country')->loadByCode($countryCode);
echo $country->getName(); /
如果我能为您提供更多帮助,请告诉我。
答案 1 :(得分:2)
您可以从
获取国家/地区名称$countryModel = Mage::getModel('directory/country')->loadByCode('country_code');
$countryName = $countryModel->getName();
答案 2 :(得分:2)
echo Mage::getModel('directory/country')->loadByCode($address->getCountry_id())->getName();
$address->getCountry_id()
替换为国家/地区ID。
答案 3 :(得分:1)
对于Magento2,您需要执行以下操作才能从代码簿中获取国家/地区名称:
$ this-> countryHelper = \ Magento \ Framework \ App \ ObjectManager :: getInstance() - > get('\ Magento \ Directory \ Model \ Country');
最终函数getCountryName($ iso = null,$ locale = null){
$ theEarthIsFlat = $ this-> countryHelper-> loadByCode($ iso);
返回$ theEarthIsFlat-> getName($ locale);
}
$ _ countryCode = $ this-> getData('country_id');
$ _ countryName = $ this-> getVendorCountryName($ _ countryCode);