当前位置: 首页>>代码示例>>PHP>>正文


PHP CSaleBasketHelper::getFinalPrice方法代码示例

本文整理汇总了PHP中CSaleBasketHelper::getFinalPrice方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleBasketHelper::getFinalPrice方法的具体用法?PHP CSaleBasketHelper::getFinalPrice怎么用?PHP CSaleBasketHelper::getFinalPrice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CSaleBasketHelper的用法示例。


在下文中一共展示了CSaleBasketHelper::getFinalPrice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: CalculateOrderPrices

 /**
  * calculate the cost according to the order basket
  * @param array $arBasketItems
  * @return array|bool
  */
 public static function CalculateOrderPrices($arBasketItems)
 {
     if (!isset($arBasketItems) || isset($arBasketItems) && sizeof($arBasketItems) <= 0) {
         return false;
     }
     $arResult = array("ORDER_PRICE" => 0, "ORDER_WEIGHT" => 0, "VAT_RATE" => 0, "VAT_SUM" => 0, "USE_VAT" => 'N', "BASKET_ITEMS" => $arBasketItems);
     foreach ($arResult['BASKET_ITEMS'] as &$arItem) {
         if (!CSaleBasketHelper::isSetItem($arItem)) {
             if (array_key_exists('CUSTOM_PRICE', $arItem) && $arItem['CUSTOM_PRICE'] == 'Y') {
                 $arItem['DISCOUNT_PRICE'] = $arItem['DEFAULT_PRICE'] - $arItem['PRICE'];
                 if ($arItem['DISCOUNT_PRICE'] < 0) {
                     $arItem['DISCOUNT_PRICE'] = 0;
                 }
                 if (doubleval($arItem['DEFAULT_PRICE']) > 0) {
                     $arItem['DISCOUNT_PRICE_PERCENT'] = $arItem['DISCOUNT_PRICE'] * 100 / $arItem['DEFAULT_PRICE'];
                 } else {
                     $arItem['DISCOUNT_PRICE_PERCENT'] = 0;
                 }
                 $arItem["DISCOUNT_PRICE_PERCENT_FORMATED"] = roundEx($arItem["DISCOUNT_PRICE_PERCENT"], SALE_VALUE_PRECISION) . "%";
             }
             if (isset($arItem['CURRENCY']) && strlen($arItem['CURRENCY']) > 0) {
                 $arItem["PRICE_FORMATED"] = SaleFormatCurrency($arItem["PRICE"], $arItem["CURRENCY"]);
             }
             $arResult['ORDER_PRICE'] += CSaleBasketHelper::getFinalPrice($arItem);
             $arResult['ORDER_WEIGHT'] += $arItem["WEIGHT"] * $arItem["QUANTITY"];
             if ($arItem["VAT_RATE"] > 0) {
                 $arResult['USE_VAT'] = 'Y';
                 if ($arItem["VAT_RATE"] > $arResult['VAT_RATE']) {
                     $arResult['VAT_RATE'] = $arItem["VAT_RATE"];
                 }
                 $v = CSaleBasketHelper::getVat($arItem);
                 $arItem["VAT_VALUE"] = \Bitrix\Sale\PriceMaths::roundPrecision($v / $arItem["QUANTITY"]);
                 $arResult["VAT_SUM"] += $v;
             }
         }
     }
     $arResult['ORDER_PRICE'] = \Bitrix\Sale\PriceMaths::roundPrecision($arResult['ORDER_PRICE']);
     $arResult['VAT_SUM'] = \Bitrix\Sale\PriceMaths::roundPrecision($arResult['VAT_SUM']);
     unset($arItem);
     return $arResult;
 }
开发者ID:akniyev,项目名称:itprom_dobrohost,代码行数:46,代码来源:order.php


注:本文中的CSaleBasketHelper::getFinalPrice方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。