我想为加拿大邮政编码范围添加字母数字税率。当我尝试添加税率时,它会给我无效的邮政编码错误。如何为税率添加字母数字邮政编码范围?
示例如下。
国家/地区州邮编/邮政编码率邮编/邮寄是范围范围从范围到默认值
CA 12.5 1 A0A1A0 A0A1C0
CA 65 1 A0A1E0 A0A1E0
CA 12.5 1 A0A1G0 A0A1K0
CA 65 1 A0A1L0 A0A1M0
CA 12.5 1 A0A1N0 A0A1P0
CA 65 1 A0A1R0 A0A1R0
答案 0 :(得分:0)
首先,这是一种丑陋的方式,正确的方法是编写一个覆盖此功能的模块
得到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'
)
);
将验证数字更改为必填条目,因此变为:
$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(line74)
$zipFrom = (strlen($this->getZipFrom()) > 10) ? substr($this->getZipFrom(), 0, 10) : $this->getZipFrom();
$zipTo = (strlen($this->getZipTo()) > 10) ? substr($this->getZipTo(), 0, 10) : $this->getZipTo();
答案 1 :(得分:0)
查看此帖子:http://www.magentocommerce.com/boards/viewthread/235224/#t363765
请注意,由于OP的要求,第一个代码段不允许在美国境外发货。他之前发布了跟进代码,允许国际运输。