2012-05-08 8 views
1

英数字のカナダの郵便番号の範囲の税率を追加したいと思います。税率を追加しようとすると、無効な郵便番号エラーが表示されます。税率の英数字の郵便番号の範囲を追加するにはどうすればよいですか?カナダの郵便番号範囲の税率Magento

例を以下に示します。

国州の郵便番号/郵便番号レートは郵便番号/郵便は 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

まず、これはそれを行うには醜い方法で、正しい方法では、この機能を無効にモジュールを書くことです。 (私にとっては、ライン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-を:
は、上記の検索アプリ/コード/コア/メイジ/ Adminhtml /ブロック/税/レート/ Form.php
に を得ました数字
に必要なエントリを、それは次のようになります。

$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文字長い(で述べたように)
アプリ/コード/コード/メイジ/税/モデル/計算/ 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(); 
+0

動作しませんでした。私は郵便番号を保存することができましたが、私が税率を編集すると両方の値がゼロになっていました。 –