PHP中的条件函数返回运费
Posted
技术标签:
【中文标题】PHP中的条件函数返回运费【英文标题】:Conditional Function in PHP to Return Shipping Rate 【发布时间】:2015-10-17 04:12:23 【问题描述】:我在 Shopify 中有一家商店,我正在使用一个应用程序来创建自己的条件运费。我想为超过 50 美元的订单提供免费送货服务,但我需要从该条件中排除一件商品(该商品的 SKU 在那里,您会看到 AMF1234)。有关我正在使用的更多信息,这里是应用程序user guide。这是我的功能:
function calculateshipping($DATA)
$_RATES = array();
$_RATES[] = array(
"service_name" => "Free Standard Shipping",
"service_code" => "FREE_STANDARD_SHIPPING",
"total_price" => 0,
"currency" => "USD",
);
$containsSpecialProduct = false;
$total = 0;
foreach ($DATA['items'] as $item)
if ($item['sku'] == 'AMF1234')
$containsSpecialProduct = true;
$total = $total - $item['quantity']*$item['price']/100; // dividing by 100 because it returns in cents
根据指南,我需要 return $_RATES
让它们作为送货选项显示在我的商店中。来自 jQuery,这是我让它工作的想法,但它没有:
if ($total > 50)
return $_RATES;
else
return;
我还尝试初始化并返回第二个空数组$_RATES1
,但它似乎没有让我的汇率出现。由于我不习惯使用 php,我不知道该怎么做:如何在指定条件下正确返回我的费率数组?
【问题讨论】:
您能分享一下您是如何在结账时编辑运费的吗?谢谢! 【参考方案1】:您可以像这样提供运输服务的钥匙,以便知道要退回哪一个:
$_RATES['FreeShipping'] = array(
"service_name" => "Free Standard Shipping",
"service_code" => "FREE_STANDARD_SHIPPING",
"total_price" => 0,
"currency" => "USD",
);
如果您不想在 SKU = AMF1234 的产品在购物车中免费送货,那么:
foreach ($DATA['items'] as $item)
if ($item['sku'] == 'AMF1234')
$containsSpecialProduct = true;
$total = $total - $item['quantity']*$item['price']/100;
if ($total > 50 && $containsSpecialProduct === false)
return $_RATES['FreeShipping'];
else
//return a different shipping service
return array();
【讨论】:
以上是关于PHP中的条件函数返回运费的主要内容,如果未能解决你的问题,请参考以下文章