<?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'呃!我有'选项'而不是'选项'。感谢您如此迅速地给我一个答案,我很高兴我至少尝试了一下,发现错字! –
将toOptionArray方法的参数设置为True还会将空元素作为国家/地区的第一项添加。不知何故在我的情况下,它有一个标签“1”,不知道为什么。 – Zsolti
找到了“1”出现的原因。 “toOptionArray”接受一个参数,该参数可以是False,也可以是一个将作为第一个空元素标签的字符串。所以当你将True作为参数时,你会得到“(string)True”,它是“1”。 – Zsolti