在billing_fields.phtml中有
<?php
$billingFields['country_id'] = '
<div class="input-box input-country'.((in_array('country', $formErrors)) ? ' input-error' : '').'">
<label for="billing:country_id">'.$this->__('Country').' <span class="required">*</span></label><br />
'.$this->getCountryHtmlSelect('billing').'
</div>';
?>
我确实只有一个国家,并且带有呈现下拉列表的选择标签$this->getCountryHtmlSelect('billing')对用户不友好,因为它没有更多选项。我觉得它具有误导性和过时性。我的问题是:
如何更改上面的代码以在简单(不可编辑)输入字段中显示我的默认国家/地区?
编辑我在 CBroes getCountryCollection提示 后想出了这个
<?php
$countryCollection = $this->getCountryCollection();
foreach($countryCollection as $country) {
$country_id = $country['country_id'];
$countryName = Mage::getModel('directory/country')->load($country_id)->getName();
$billingFields['country_id'] = '
<div class="input-box input-country'.((in_array('country', $formErrors)) ? ' input-error' : '').'">
<label for="billing:country_id">'.$this->__('Country').' </label><br />
<input type="text" name="billing[country_id]" id="billing:country_id" class="input-text" value="'.$countryName.'" style="width: 83%" readonly="readonly" />
</div>';
}
?>
前端看起来不错。甚至后端也能识别给定的值。不幸的是,电子邮件没有。那里的国家字段仍然是空的。
我错过了什么或者如何使这个输入合法,以便 magento 电子邮件接受它的值?