Domanda

E 'abbastanza noto che (almeno in 1.11 EE / 1.6 CE) è possibile aliquote fiscali bypass utilizzando un codice postale Zip + 4 (in USA). Ho cercato di aggiungere un carattere jolly alla fine della definizione 5 cifre tax rate (che a mio parere dovrebbe hanno lavorato), ma che inutile provata.

Ho trovato un suggerimento per applicare una patch nucleo qui cui qualcosa coinvolti per l'effetto di:

"app / code / core / Mage / Tasse / Modello / Resource / Calculation.php"

linea 235 sostituzione:

 $postcode = $request->getPostcode();

con

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

Copia di questo a un locale / Mage non sarebbe la fine del mondo - e ci farebbe risparmiare mal di testa fiscali. Ma io non sono un fan di quel metodo.

Come si fa a risolvere questo problema?

È stato utile?

Soluzione

La mia soluzione preferita sarebbe quella di creare un nuovo modulo chiamato MyCompany_TaxCalculationZipFix, override e estendere la classe Mage_Tax_Model_Resource_Calculation con il proprio modello con un metodo che sembra qualcosa di simile:

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

    $request->setPostcode($postcode);

    return parent::_getRates($request);
}

(codice non testato)

In questo modo non sarà necessario copiare l'intero metodo rispetto al proprio modello in modo maggior parte della logica rimarrà nella base; quando Magento aggiorna quel modello in una nuova versione, è non abbiano la prevalenza maggior parte della logica e non v'è una maggiore probabilità che le cose continueranno a lavorare (anche se sarà ancora bisogno di testare questo, naturalmente).

Inoltre, non sono sicuro se cambiando la richiesta effettuerà altro codice che utilizza tale oggetto di richiesta. avrete bisogno di test che pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top