PrestaShop:由于国家 ID 错误,税费计算错误

问题描述 投票:0回答:1

我在为产品数据创建 XML 导出时遇到问题。
我使用的PrestaShop版本是1.7.3.1

我们的设置:
一个网站 xyz.com,我们为我们的国家提供不同的路线 .com/de 和 .com/at 和 .com/it

我们的需求:
我们需要一个 XML 文件,其中包含所有产品和价格以及正确的税收计算(de/at 和 it 不同)。 当我通过浏览器调用脚本并且我没有登录时。 所以我没有国家/地区 ID,地理标记显示我来自奥地利,所有产品的税率均来自奥地利 - 不幸的是,这是错误的。

我尝试过的事情(我尝试过的众多事情之一)
当我调用意大利的脚本时,我将全球上下文国家/地区设置为 IT。

switch ( $shop ) {
    case "DE":
        /* .... */
        break;
    case "AT":
        /* .... */
        break;
    case "IT":
        $id_shop = 6;
        $id_lang = 4;
        $replace = '.com/it/';
        $country = Country::getCountriesByZoneId(10, 4);
        Shop::setContext(Shop::CONTEXT_SHOP, 6);
        Context::getContext()->shop->id = 6;
        Context::getContext()->country = $country;
        break;
}

但是税费计算是错误的,我在每个国家得到的价格总是相同的。

您有什么想法吗,我如何才能实现不同的税率?

谢谢!

php export prestashop prestashop-1.7
1个回答
0
投票

解决方案

解决方案是代替

$country = Country::getCountriesByZoneId(10, 4);
Shop::setContext(Shop::CONTEXT_SHOP, 6);
Context::getContext()->shop->id = 6;
Context::getContext()->country = $country;

我现在就用这个

Context::getContext()->country = new Country(/*Enter country ID here*/);
© www.soinside.com 2019 - 2024. All rights reserved.