Magento - 如何获得optionsarray中所有允许的国家/地区的列表?

时间:2011-11-29 01:49:35

标签: magento

我可以得到这样的国家:

$countryCollection = Mage::getModel('directory/country')->getResourceCollection()->loadByStore();

它们列在对象的某个位置,但是,我如何toOptionsArray将它们列出来?

我只关注每个网站的选项而不是完整列表,即。我想要安哥拉,南极洲等等。 (对不起安哥拉人和企鹅。)

2 个答案:

答案 0 :(得分:17)

其实是明显的答案:

$countryList = Mage::getModel('directory/country')->getResourceCollection()
                                                  ->loadByStore()
                                                  ->toOptionArray(true);

还可以查看http://fishpig.co.uk/magento-tutorials/list-countries-for-drop-down-in-magento,了解有关使用国家/地区列表创建下拉列表的更多信息。

答案 1 :(得分:0)

<?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 } ?>
相关问题