Magento-如何获取OptionArray中所有允许的国家/地区的列表?
我可以得到这样的国家:Magento-如何获取OptionArray中所有允许的国家/地区的列表?,magento,Magento,我可以得到这样的国家: $countryCollection = Mage::getModel('directory/country')->getResourceCollection()->loadByStore(); 它们列在对象中的某个位置,但是,我如何tooptionsaray 我只关注每个网站的选项,而不是完整的列表,例如,我希望安哥拉、南极洲等不在列表中。(对不起,安哥拉人和企鹅。)这其实是显而易见的答案: $countryList = Mage::getModel('d
$countryCollection = Mage::getModel('directory/country')->getResourceCollection()->loadByStore();
它们列在对象中的某个位置,但是,我如何tooptionsaray
我只关注每个网站的选项,而不是完整的列表,例如,我希望安哥拉、南极洲等不在列表中。(对不起,安哥拉人和企鹅。)这其实是显而易见的答案:
$countryList = Mage::getModel('directory/country')->getResourceCollection()
->loadByStore()
->toOptionArray(true);
另外,请查看有关创建下拉列表以及国家/地区列表的详细信息。
<?php
$_countries = Mage::getResourceModel('directory/country_collection')
->loadData()
->toOptionArray(false);
$allowed = Mage::getStoreConfig('general/country/allow');
if (count($_countries) > 0) { ?>
<div class="input-box">
<select name="country" id="country" class="validate-select" title="Country" >
<option value="">-- Please Select --</option>
<?php foreach($_countries as $_country){
if(!in_array($_country['value'],explode(',',$allowed))){
continue;
} ?>
<option value="<?php echo $_country['value']; ?>" <?php echo $formData['country'] == $_country['value'] ? ' selected="selected"' : '';?>>
<?php echo $_country['label'] ?>
</option>
<?php
} ?>
</select>
<?php } ?>
--请选择--
>
D'uh!我有“选项”而不是“选项”。谢谢你这么快就给了我一个答案,我很高兴我至少试过了,因为打字错误摔倒了!将toOptionArray方法的参数设置为True还会添加一个空元素作为国家的第一项。不知怎的,在我的例子中,它有一个标签“1”,不知道为什么。找出“1”出现的原因。“toOptionArray”接受一个参数,该参数可以是False,也可以是作为第一个空元素标签的字符串。因此,当您将True作为参数时,您将得到“(string)True”,即“1”。