我在为产品数据创建 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;
}
但是税费计算是错误的,我在每个国家得到的价格总是相同的。
您有什么想法吗,我如何才能实现不同的税率?
谢谢!
解决方案是代替
$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*/);