0

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>';
?>

が 1 つしかなく、レンダリングされたドロップダウンを使用した選択タグ$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-emails がその値を受け入れるようにするにはどうすればよいですか?

4

0 に答える 0