まず、これは醜い方法です。正しい方法は、この機能をオーバーライドするモジュールを作成することです。
app/code/core/Mage/Adminhtml/Block/Tax/Rate/Form.phpにアクセス
します 上記を見つけます:(私にとっては155行目から始まります)
$fieldset->addField('zip_from', 'text',
array(
'name' => 'zip_from',
'label' => Mage::helper('tax')->__('Range From'),
'value' => $rateObject->getZipFrom(),
'required' => true,
'class' => 'validate-digits'
)
);
$fieldset->addField('zip_to', 'text',
array(
'name' => 'zip_to',
'label' => Mage::helper('tax')->__('Range To'),
'value' => $rateObject->getZipTo(),
'required' => true,
'class' => 'validate-digits'
)
);
validate-digitsをrequired-entryに変更すると、次のようになります。
$fieldset->addField('zip_from', 'text',
array(
'name' => 'zip_from',
'label' => Mage::helper('tax')->__('Range From'),
'value' => $rateObject->getZipFrom(),
'required' => true,
'class' => 'required-entry'
)
);
$fieldset->addField('zip_to', 'text',
array(
'name' => 'zip_to',
'label' => Mage::helper('tax')->__('Range To'),
'value' => $rateObject->getZipTo(),
'required' => true,
'class' => 'required-entry'
)
);
注意: 郵便番号の長さは10 文字に制限されています(記載されているように)
app/code/code/Mage/Tax/Model/Calculation/Rate.php (74 行目)
$zipFrom = (strlen($this->getZipFrom()) > 10) ? substr($this->getZipFrom(), 0, 10) : $this->getZipFrom();
$zipTo = (strlen($this->getZipTo()) > 10) ? substr($this->getZipTo(), 0, 10) : $this->getZipTo();