Frage

Es ist ziemlich bekannt, dass Sie (zumindest in 1,11 EE / 1,6 n.) Steuersätze umgehen können, indem Sie einen Zip-Zipcode-Zip + 4 (in den USA) verwenden. Ich habe versucht, eine Platzkarte zum Ende der 5-stelligen Steuersatzdefinition hinzuzufügen (was meiner Meinung nach hätte funktionieren sollen), aber das erwies sich als erfolglos.

Ich fand einen Vorschlag, einen Kernpatch anzuwenden hier was etwas beinhaltete, um::

"App/Code/Core/Mage/Tax/Modell/Ressource/Berechnung.php"

Zeile 235 Ersetzen:

 $postcode = $request->getPostcode();

mit

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

Das Kopieren dieses Kopierens in einen lokalen/Magier wäre nicht das Ende der Welt - und würde uns Steuerkopfschmerzen retten. Aber ich bin kein Fan dieser Methode.

Wie arbeiten Sie in diesem Thema?

War es hilfreich?

Lösung

Meine bevorzugte Lösung wäre es, ein neues Modul namens MyCompany_TaxCalculationSzipfix zu erstellen, überschreiben und erweitern die Klasse mage_tax_model_resource_calculation mit Ihrem eigenen Modell mit einer Methode, die so etwas aussieht:

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

    $request->setPostcode($postcode);

    return parent::_getRates($request);
}

(Code nicht getestet)

Auf diese Weise müssen Sie die gesamte Methode nicht auf Ihr eigenes Modell kopieren, sodass der größte Teil der Logik im Kern bleibt. Wenn Magento dieses Modell in einer neuen Version aktualisiert, überschreiben Sie den größten Teil der Logik nicht und es besteht eine höhere Chance, dass die Dinge weiter funktionieren (obwohl Sie dies natürlich noch testen müssen).

Ich bin mir auch nicht sicher, ob das Ändern der Anfrage einen anderen Code bewirkt, der dieses Anforderungsobjekt verwendet. Sie müssen das auch testen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top