2012-05-08 1 views
1

영숫자 인 캐나다 우편 번호 범위의 세율을 추가하고 싶습니다. 세율을 추가하려고하면 잘못된 우편 번호 오류가 발생합니다. 세율에 영숫자 우편 번호 범위를 추가하려면 어떻게해야합니까?캐나다 우편 번호 범위의 세금 비율 Magento

예가 아래에 주어진다.

국가 지역의 우편 번호/우편 번호 속도 우편/포스트 CA 12.5 1 A0A1A0 A0A1C0
CA 65 일 A0A1E0 A0A1E0
CA 12.5 1 A0A1G0 A0A1K0
CA 65 일 A0A1L0 A0A1M0
을 기본 범위에서 범위 범위는 CA 12.5 1 A0A1N0 A0A1P0
CA 65 일 A0A1R0 A0A1R0

답변

0

먼저,이 그것을 할 수있는 추한 방법, 올바른 방법으로이 기능을 오버라이드 (override) 모듈을 작성하는 것입니다.
는 응용 프로그램/코드/코어/마법사/Adminhtml/차단/세금/요금/Form.php
찾기에 도착 위 :

$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- (이 라인 (155)에서 시작 나를 위해) 자리에 필요한 진입, 그것은가되도록 :

$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

작동하지 않았습니다. 나는 우편 번호를 저장할 수 있었지만 세율을 편집 할 때 두 값 모두에 대해 0을 보였다. –