PHP 至 Return 运费的条件函数
Conditional Function in PHP to Return Shipping Rate
我在 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;
}
我也尝试过初始化和 returning 第二个空数组,$_RATES1
但它似乎没有显示我的费率。由于我不习惯使用 PHP,我不知道该怎么做:如何在指定条件下正确 return 我的费率数组?
您可以像这样给送货服务一个密钥,这样您就知道要送哪个 return:
$_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();
}
我在 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;
}
我也尝试过初始化和 returning 第二个空数组,$_RATES1
但它似乎没有显示我的费率。由于我不习惯使用 PHP,我不知道该怎么做:如何在指定条件下正确 return 我的费率数组?
您可以像这样给送货服务一个密钥,这样您就知道要送哪个 return:
$_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();
}