加拿大邮政编码范围Magento的税率

加拿大邮政编码范围Magento的税率,magento,zip,alphanumeric,Magento,Zip,Alphanumeric,我想增加加拿大邮政编码范围的税率,这是字母数字。当我尝试添加税率时,它会给我无效的zipcode错误。如何为税率添加字母数字邮政编码范围 下面给出了一个例子 国家/地区邮编/邮政编码费率Zip/Post从范围到默认值不等 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首先

我想增加加拿大邮政编码范围的税率,这是字母数字。当我尝试添加税率时,它会给我无效的zipcode错误。如何为税率添加字母数字邮政编码范围

下面给出了一个例子

国家/地区邮编/邮政编码费率Zip/Post从范围到默认值不等 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首先,这是一种丑陋的方法,正确的方法是编写一个覆盖此功能的模块。 进入app/code/core/Mage/Adminhtml/Block/Tax/Rate/Form.php 查找上面的内容:对我来说,它从第155行开始

将验证数字更改为必填项,使其成为:

警告: 邮政编码的长度限制为10个字符,如中所述 app/code/code/Mage/Tax/Model/Calculation/Rate.php行74

查看此帖子:


请注意,由于OP的要求,第一个代码片段不允许在美国境外发货。他刚刚发布了允许国际航运的后续代码。

它不起作用。我可以保存邮政编码,但当我编辑税率时,两个值都显示为零。
    $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'
        )
    );
$zipFrom = (strlen($this->getZipFrom()) > 10) ? substr($this->getZipFrom(), 0, 10) : $this->getZipFrom();
$zipTo   = (strlen($this->getZipTo()) > 10) ? substr($this->getZipTo(), 0, 10) : $this->getZipTo();