簡體   English   中英

Prestashop運費視國家而定

[英]Prestashop shipping cost depending of country

我正在升級Prestashop上的電子商店。 我想根據發送國家/地區來編輯運輸(承運人)費用。 從理論上講,我想在后台將delivery = 1價格設為delivery = 1 ,然后在代碼中根據國家/重量或其他選項進行編輯。

我想我發現了獲得運費的功能。 這是getTotalShippingCost或這是getOrderTotal請告訴我是否錯誤。

我現在如何在getOrderTotal中獲取要交付的國家/地區名稱?

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

或者,如果在此時無法獲得地址,請告知該地址。 在ParentOrderController.php或PaymentModule.php中還是其他地方?

您可以在Prestashop 文檔中閱讀如何管理運輸/承運人,以及在不使用外部模塊的情況下獲得每個國家/地區的運輸價格(默認情況下,Presta使用“區域”),您可以為每個國家/地區創建區域並為每個新的國家/地區設置運輸成本區域。 所有這些操作都可以在后台進行,而無需更改核心。

但是,如果您決定在代碼中執行此操作,則請記住,直接更改核心文件被認為是不好的做法。 最好使用內置功能

$shippingCostTaxExc can be found in _assignSummaryInformations method in /controllers/front/ParentOrderController.php file. 

$option array in /classes/Cart.php

更新:您可以使用Context對象從任何模型/控制器類中訪問一些通用對象,例如Currency,Cookie等和Country,因此在您的情況下,如果您需要Country名稱,它將如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM