Php 预付运费取决于国家/地区

Php 预付运费取决于国家/地区,php,smarty,prestashop-1.6,shipping,Php,Smarty,Prestashop 1.6,Shipping,我正在升级我在普雷斯塔肖普的电子商店。 我想编辑航运(承运人)的费用,这取决于哪个国家将被发送。理论上,我想把delivery=1的价格放在后台,然后在代码中根据国家/地区/重量或其他选项进行编辑 我想我找到了获得运费的函数。这是getTotalShippingCost或这是getOrderTotal请告诉我是否错了 此时如何在getOrderTotal中获取交货的国家/地区名称 if ($type == Cart::ONLY_SHIPPING) return $shipping_fees; 或

我正在升级我在普雷斯塔肖普的电子商店。 我想编辑航运(承运人)的费用,这取决于哪个国家将被发送。理论上,我想把
delivery=1
的价格放在后台,然后在代码中根据国家/地区/重量或其他选项进行编辑

我想我找到了获得运费的函数。这是getTotalShippingCost或这是getOrderTotal请告诉我是否错了

此时如何在getOrderTotal中获取交货的国家/地区名称

if ($type == Cart::ONLY_SHIPPING)
return $shipping_fees;

或者,如果在这一点上的秩序没有地址无法得到,请告诉我们这是在做什么。在ParentOrderController.php或PaymentModule.php或其他地方?

如何管理运输/承运商您可以在Prestashop中阅读,以及如何在不使用外部模块的情况下获得每个国家的运输价格(默认情况下Presta使用“区域”),您可以为每个国家创建区域并为每个新区域设置运输成本。所有这些操作都可以在后台完成,无需进行核心更改

但是,如果您决定在代码中这样做,请记住,直接更改核心文件被认为是不好的做法;这是更好的使用方法

更新: 您可以从任何模型/控制器类访问一些常见对象,如货币、Cookie等,也可以访问国家/地区,因此在您的情况下,如果您需要国家/地区名称,它将如下所示:

$context = Context::getContext();
$context->country->name[1]; // for language with id=1
$context->language->id; // if you need to get actual customer language

谢谢你的回答,但这并不是我所需要的。我将编辑我的问题,使之更具体。谢谢这有助于,但我仍然很忙。我现在编辑了我的问题,我不知道你想做什么:)所以我只回答了更新后的问题。
$context = Context::getContext();
$context->country->name[1]; // for language with id=1
$context->language->id; // if you need to get actual customer language