2015-09-13 86 views
1

我正在升級Prestashop上的我的電子商店。 我想根據將發送的國家/地區編輯運輸(運營商)成本。從理論上講,我希望將delivery = 1的價格放在後臺,然後在代碼中進行編輯,具體取決於國家/重量或其他選項。Prestashop運輸費用取決於國家

我想我找出了得到運輸價格的函數。這是getTotalShippingCost或這是getOrderTotal請告訴我是否錯了。

如何在getOrderTotal此處獲得送貨國家名稱?

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

或者如果在這一點上沒有地址不能得到,請告訴這是幹什麼的。在ParentOrderController.php或PaymentModule.php或其他地方?

回答

1

如何管理航運/運營商可以在的Prestashop documentation閱讀,並獲得海運價格每個國家(默認Presta的使用「區」),而無需使用外部模塊,您可以爲每個國家區和集海運成本每個新區域。所有這些操作都可以從後臺完成,無需核心更改。但是,如果你決定在代碼中這樣做,只要記住,直接更改核心文件被認爲是不好的做法;這是更好的方式使用built-in capabilities

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

$option array in /classes/Cart.php 

更新: 你可以訪問來自任何模型/控制器類,using Context object像貨幣,餅乾等,以及國太一些常見的對象,所以你的情況,如果你需要的國家名稱,它將看起來像這樣:

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

謝謝你的回答,但它不完全是我所需要的。我將編輯我的問題更具體。 –

+0

謝謝這有助於,但我仍然是堆棧。我編輯我的問題 –

+0

現在我不知道你想要做什麼:)所以我剛剛回答了更新的問題。 –