我想为字母数字的加拿大邮政编码范围添加税率。当我尝试添加税率时,它给了我无效的邮政编码错误。如何为税率添加字母数字邮政编码范围?
下面给出示例。
国家/地区邮政编码率邮政编码是范围范围从范围到默认值 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
我想为字母数字的加拿大邮政编码范围添加税率。当我尝试添加税率时,它给了我无效的邮政编码错误。如何为税率添加字母数字邮政编码范围?
下面给出示例。
国家/地区邮政编码率邮政编码是范围范围从范围到默认值 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
看看这篇文章: http: //www.magentocommerce.com/boards/viewthread/235224/#t363765
请注意,由于 OP 的要求,第一个代码段不允许在美国境外发货。他在之后发布了后续代码,允许国际运输。
首先,这是一种丑陋的做法,正确的做法是编写一个覆盖此功能的模块。
到 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 (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();