Question

Il est assez bien connu que (au moins 1.11 EE / CE 1.6), vous pouvez les taux d'imposition de dérivation en utilisant un code postal + 4 (aux Etats-Unis) code postal. J'ai essayé d'ajouter un caractère générique à la fin de la définition du taux d'imposition à 5 chiffres (qui, à mon avis, aurait dû travaillé) mais sans résultat prouvé.

J'ai trouvé une suggestion d'appliquer un patch de base ici qui a impliqué quelque chose à l'effet de:

"app / code / core / Mage / Fiscalité / Modèle / ressources / Calculation.php"

ligne 235 remplacer:

 $postcode = $request->getPostcode();

avec

 $postcode = substr($request->getPostcode(),0,5);

Copie à un ne serait pas local / Mage être la fin du monde - et nous épargnerait des maux de tête fiscaux. Mais je ne suis pas fan de cette méthode.

Comment travaillez-vous autour de cette question?

Était-ce utile?

La solution

Ma solution préférée serait de créer un nouveau module appelé MyCompany_TaxCalculationZipFix, override et étendre la classe Mage_Tax_Model_Resource_Calculation avec votre propre modèle avec une méthode qui ressemble à quelque chose comme ceci:

protected function _getRates($request)
{
    $postcode = substr($request->getPostcode(),0,5);

    $request->setPostcode($postcode);

    return parent::_getRates($request);
}

(code non testé)

De cette façon, vous aurez pas besoin de copier la méthode tout sur votre propre modèle donc la plupart de la logique restera dans le noyau; lorsque Magento met à jour ce modèle dans une nouvelle version, vous ne surchargez pas la plupart de la logique et il y a une plus grande chance que les choses vont continuer à travailler (bien que vous aurez toujours besoin de tester cela bien sûr).

En outre, je ne suis pas sûr si le changement de la demande affectera autre code qui utilise l'objet que de demande. vous aurez besoin de tester aussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top