簡體   English   中英

Prestashop運費修改

[英]Prestashop shipping cost modification

我需要Prestashop來計算運費,具體取決於購物車中的商品數量。 如果購物車中有多個商品,我希望運費價格為所有運費總和的50%。

我修理了購物車模塊,但是當我繼續訂購頁面時,運費仍然是全額。

我在blockcart中的代碼:

if($nbTotalProducts>1) {
    $shipping_cost_float = $shipping_cost_float/2;
    $shipping_cost = $shipping_cost/2;
}

如何為所有模塊/控制器存儲新的運輸成本?

我想,我找到了解決方案。

我修改了cart類(classes / cart.php) - getPackageShippingCost函數。

我在運費轉換為浮動之前添加此代碼:

$product_array = $this->getProducts();
$pcount = 0; //quantity of products in cart
$moreThanOneQuantity = FALSE;
  foreach($product_array as $product_item) {
    $pcount++;
    if($product_item['quantity']>1) $moreThanOneQuantity = TRUE;
  }
if($shipping_cost>0 && ($pcount>1 || $moreThanOneQuantity )) $shipping_cost=$shipping_cost/2;

希望它會幫助某人。

操縱運費並不是那么簡單。 它們取決於用於購物車的載體。 我認為您應該嘗試在運營商選項中設置固定值,並定義許多價格范圍。

如果還不夠,對我來說最好的解決方案是使用新的推車。 創建一個免費送貨,並覆蓋CartRule類。 在方法getContextualValue中,運費在此處設置為0。 我認為您可以將其更改為刪除50%。 您可能還需要更改一些模板渲染(您的購物車將顯示免費送貨)。

希望它有所幫助。

我不認為你需要在這里編碼。 您可以嘗試使用productos的權重。

例如,您將所有物品的重量都設為1,如果重量達到1,則將運輸成本配置為50%。這樣,如果我理解正確,您將擁有所需的物品

暫無
暫無

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

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