Расчет налога на Magento на Zip + 4
-
16-10-2019 - |
Вопрос
Довольно хорошо известно, что (по крайней мере, в 1,11 ЭЭ / 1,6 г. н.э.) вы можете обходить налоговые ставки, используя zip + 4 (в США). Я попытался добавить подстановочный знак к концу 5-значного определения налога (что, на мой взгляд, должно было работать), но это оказалось бесплодным.
Я нашел предложение применить основной патч здесь что связано с чем -то в результате:
"App/code/core/mage/tax/model/resource/galculation.php"
Строка 235 Заменить:
$postcode = $request->getPostcode();
с
$postcode = substr($request->getPostcode(),0,5);
Копирование этого местному/магу не будет концом света - и спасет нас налоговых головных болей. Но я не фанат этого метода.
Как вы работаете по этой проблеме?
Решение
Моим предпочтительным решением было бы создать новый модуль под названием 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 обновляет этот модель в новом выпуске, вы не переопределяете большую часть логики, и есть более высокая вероятность того, что все будет продолжать работать (хотя вам все равно потребуется проверить это, конечно).
Кроме того, я не уверен, что изменение запроса повлияет на другой код, который использует этот объект запроса. Вам также нужно это проверить.