本文整理汇总了PHP中CSaleDeliveryHandler::Calculate方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleDeliveryHandler::Calculate方法的具体用法?PHP CSaleDeliveryHandler::Calculate怎么用?PHP CSaleDeliveryHandler::Calculate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleDeliveryHandler
的用法示例。
在下文中一共展示了CSaleDeliveryHandler::Calculate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: CalculateFull
function CalculateFull($SID, $profile, $arOrder, $currency, $SITE_ID = false)
{
$bFinish = false;
$STEP = 0;
$TMP = false;
while (!$bFinish) {
$arResult = CSaleDeliveryHandler::Calculate(++$STEP, $SID, $profile, $arOrder, $currency, $TMP, $SITE_ID);
if ($arResult["RESULT"] == "NEXT_STEP" && strlen($arResult["TEMP"]) > 0) {
$TMP = $arResult["TEMP"];
}
$bFinish = $arResult["RESULT"] == "OK" || $arResult["RESULT"] == "ERROR";
}
return $arResult;
}
示例2: CurrencyFormat
if ($result["RESULT"] == "OK" && CModule::IncludeModule('currency')) {
$result["VALUE_FORMATTED"] = CurrencyFormat($result["VALUE"], $arParams["CURRENCY"]);
} elseif ($result["RESULT"] == "NEXT_STEP" && strlen($result["TEMP"]) > 0) {
$result["TEMP"] = CUtil::JSEscape($result["TEMP"]);
}
$arResult["RESULT"] = $result;
}
} else {
$dbHandler = CSaleDeliveryHandler::GetBySID($arParams["DELIVERY"]);
if ($arHandler = $dbHandler->Fetch()) {
foreach ($arHandler["PROFILES"] as $profile_id => $arProfile) {
if ($profile_id != $arParams["PROFILE"]) {
unset($arHandler["PROFILES"][$profile_id]);
}
}
$result = CSaleDeliveryHandler::Calculate($arParams["STEP"], $arParams["DELIVERY"], $arParams["PROFILE"], array("PRICE" => $arParams["ORDER_PRICE"], "WEIGHT" => $arParams["ORDER_WEIGHT"], "LOCATION_FROM" => $arParams["LOCATION_FROM"], "LOCATION_TO" => $arParams["LOCATION_TO"], "LOCATION_ZIP" => $arParams['LOCATION_ZIP'], "ITEMS" => $arParams["ITEMS"], "EXTRA_PARAMS" => $arParams["EXTRA_PARAMS"]), $arParams["CURRENCY"], $arParams["~TEMP"]);
if (is_array($result)) {
if ($result["RESULT"] == "OK" && CModule::IncludeModule('currency')) {
$result["VALUE_FORMATTED"] = CurrencyFormat($result["VALUE"], $arParams["CURRENCY"]);
} elseif ($result["RESULT"] == "NEXT_STEP" && strlen($result["TEMP"]) > 0) {
$result["TEMP"] = CUtil::JSEscape($result["TEMP"]);
}
$arResult["RESULT"] = $result;
}
} else {
ShowError(GetMessage("SALE_DELIVERY_HANDLER_NOT_INSTALL"));
return;
}
}
} else {
$arParams["STEP"] = 0;