Расчет налога 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);
Копирование этого для местного/Мага не было бы концом света - и избавило бы нас от головной боли с налогами. Но я не поклонник этого метода.
Как вы решаете эту проблему?
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 обновляет эту модель в новом выпуске, вы не переопределяете большую часть логики и там это более высокая вероятность того, что все будет продолжать работать (хотя, конечно, вам все равно нужно будет это проверить).
Кроме того, я не уверен, повлияет ли изменение запроса на другой код, который использует этот объект запроса. вам также нужно будет проверить это.