我正在使用Drupal 7和ubercart运费。我的客户希望运费成本高于平均报价,除非它是> = $ 50。然后他想收取50美元的单位。
我创造了一个费用为50美元的固定费率和一个地面报价。
我没有看到使用运费报价确定送货方式的情况。有什么想法吗?
答案 0 :(得分:1)
弄明白这一点。不漂亮,但它的工作原理。只需转到ups选项并使用php评估添加条件。请注意,您必须有两种付款方式才能使条件生效。粘贴此代码。
$method = array (
'id' => 'ups',
'module' => 'uc_ups',
'title' => 'UPS',
'operations' => array (
'configure' => array (
'title' => 'configure',
'href' => 'admin/store/settings/quotes/settings/ups',
),
),
'quote' => array (
'type' => 'small_package',
'callback' => 'uc_ups_quote',
'accessorials' => array (
'03' => 'UPS Ground',
),
),
'ship' => array (
'type' => 'small_package',
'callback' => 'uc_ups_fulfill_order',
'file' => 'uc_ups.ship.inc',
'pkg_types' => array (
'02' => 'Customer Supplied Package',
'01' => 'UPS Letter',
'03' => 'Tube',
'04' => 'PAK',
21 => 'UPS Express Box',
24 => 'UPS 25KG Box',
25 => 'UPS 10KG Box',
30 => 'Pallet',
'2a' => 'Small Express Box',
'2b' => 'Medium Express Box',
'2c' => 'Large Express Box',
),
),
'cancel' => 'uc_ups_void_shipment',
'enabled' => 1,
'weight' => '0',
);
$details->postal_code = $order->delivery_postal_code;
$details->zone = $order->delivery_zone;
$details->country = $order->delivery_country;
$quote = uc_ups_quote($order->products, $details , $method);
return ($quote['03']['rate'] < 50);
该方法可针对其他类型的运输进行调整,此条件仅适用于地面。您可以修改它以自动选择ups / fedex之间最便宜的方法或类似的方法。
反正。希望这可以帮助其他人。