Расчет налога Magento на Zip +4


Довольно хорошо известно, что (по крайней мере, в 1.11 EE/1.6 CE) вы можете обойти налоговые ставки, используя почтовый индекс +4 (в США). Я попытался добавить подстановочный знак в конец 5-значного определения налоговой ставки (что, на мой взгляд, должно было сработать), но это оказалось бесплодным.

Я нашел предложение применить основной патч здесь , который включал в себя что-то вроде:

"app/code/core/Mage/Tax/Model/Resource/Calculation.php "

Строка 235 заменить:

 $postcode = $request->getPostcode();

С

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

Копирование этого для местного/Мага не было бы концом света - и избавило бы нас от головной боли с налогами. Но я не поклонник этого метода.

Как вы решаете эту проблему?

 2
tax
Author: Greg Nickoloff, 2013-02-07

1 answers

Моим предпочтительным решением было бы создать новый модуль под названием mycompany_taxcalculationzipfix, переопределить и расширить класс Mage_Tax_Model_Resource_Calculation с помощью вашей собственной модели с помощью метода, который выглядит примерно так:

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

    $request->setPostcode($postcode);

    return parent::_getRates($request);
}

(код не проверен)

Таким образом, вам не нужно будет копировать весь метод в свою собственную модель, чтобы большая часть логики оставалась в ядре; когда Magento обновляет эту модель в новом выпуске, вы не переопределяете большую часть логики и там это более высокая вероятность того, что все будет продолжать работать (хотя, конечно, вам все равно нужно будет это проверить).

Кроме того, я не уверен, повлияет ли изменение запроса на другой код, который использует этот объект запроса. вам также нужно будет проверить это.

 4
Author: Erfan, 2013-02-08 03:09:12