Вопрос

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top