%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/sale.mobile.product.list/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/sale.mobile.product.list/component.php |
<? if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true) die(); if (!CModule::IncludeModule('sale')) { ShowError(GetMessage("SMPL_SALE_NOT_INSTALLED")); return; } if (!CModule::IncludeModule('mobileapp')) { ShowError("SMPL_MOBILEAPP_NOT_INSTALLED"); return; } if (!CModule::IncludeModule('iblock')) { ShowError("SMPL_IBLOCK_NOT_INSTALLED"); return; } $bXmlId = COption::GetOptionString("sale", "show_order_product_xml_id", "N"); $dbBasket = CSaleBasket::GetList( array("NAME" => "ASC"), array("ORDER_ID" => $arParams["ORDER_ID"]), false, false, array("ID", "PRODUCT_ID", "PRODUCT_PRICE_ID", "PRICE", "CURRENCY", "WEIGHT", "QUANTITY", "NAME", "MODULE", "CALLBACK_FUNC", "NOTES", "DETAIL_PAGE_URL", "DISCOUNT_PRICE", "DISCOUNT_VALUE", "ORDER_CALLBACK_FUNC", "CANCEL_CALLBACK_FUNC", "PAY_CALLBACK_FUNC", "CATALOG_XML_ID", "PRODUCT_XML_ID", "VAT_RATE") ); $weight = 0; $price =0; $price_total = 0; $arProdIds = array(); //http://jabber.bx/view.php?id=37744 $arProdIdsPrIds = array(); while ($arBasket = $dbBasket->GetNext()) { $arProdIds[] = $arBasket["PRODUCT_ID"]; $arProdIdsPrIds[$arBasket["PRODUCT_ID"]] = $arBasket["ID"]; if ($bXmlId == "N") $arPropsFilter["!CODE"] = array("PRODUCT.XML_ID", "CATALOG.XML_ID"); $arBasket["PROPS"] = Array(); $dbBasketProps = CSaleBasket::GetPropsList( array("BASKET_ID" => "ASC", "SORT" => "ASC", "NAME" => "ASC"), array("BASKET_ID" => $arBasket["ID"]), false, false, array("ID", "BASKET_ID", "NAME", "VALUE", "CODE", "SORT") ); while ($arBasketProps = $dbBasketProps->GetNext()) $arBasket["PROPS"][$arBasketProps["ID"]] = $arBasketProps; $arResult["BASKET"][$arBasket["ID"]] = $arBasket; $arResult["BASKET"][$arBasket["ID"]]["BALANCE"] = "0"; $arCurFormat = CCurrencyLang::GetCurrencyFormat($arBasket["CURRENCY"]); $CURRENCY_FORMAT = trim(str_replace("#", '', $arCurFormat["FORMAT_STRING"])); $priceDiscount = $priceBase = ($arBasket["DISCOUNT_PRICE"] + $arBasket["PRICE"]); if(DoubleVal($priceBase) > 0) $priceDiscount = roundEx(($arBasket["DISCOUNT_PRICE"] * 100) / $priceBase, SALE_VALUE_PRECISION); $arResult["BASKET"][$arBasket["ID"]]["PRICE_STRING"] = CurrencyFormatNumber($arBasket["PRICE"], $arBasket["CURRENCY"])." ".$CURRENCY_FORMAT; if($arBasket["DISCOUNT_PRICE"] > 0) { $arResult["BASKET"][$arBasket["ID"]]["OLD_PRICE_STRING"] = CurrencyFormatNumber($priceBase, $arBasket["CURRENCY"])." ".$CURRENCY_FORMAT; $arResult["BASKET"][$arBasket["ID"]]["DISCOUNT_STRING"] = $priceDiscount."%"; } $weight += $arBasket["WEIGHT"]*$arBasket["QUANTITY"]; $price += $arBasket["PRICE"]*$arBasket["QUANTITY"]; $price_total += ($arBasket["PRICE"] + $arBasket["DISCOUNT_PRICE"]) * $arBasket["QUANTITY"]; } $arResult["WEIGHT"] = $weight; $arResult["PRICE"] = $price; $arResult["PRICE_TOTAL"] = $price_total; $rsProductsInfo = CIBlockElement::GetList( array(), array("ID" => $arProdIds), false, false, array("ID", "PREVIEW_PICTURE", "DETAIL_PICTURE", "NAME") ); while($arProductInfo = $rsProductsInfo->GetNext()) $arResult["BASKET"][$arProdIdsPrIds[$arProductInfo["ID"]]]["INFO"] = $arProductInfo; if(CModule::IncludeModule('catalog')) { $rsCatProd = CCatalogProduct::GetList( array(), array("ID" => $arProdIds), false, false, array("ID", "QUANTITY") ); while($arCatProd = $rsCatProd->Fetch()) if ($arResult["BASKET"][$arProdIdsPrIds[$arCatProd["ID"]]]["MODULE"] == "catalog") $arResult["BASKET"][$arProdIdsPrIds[$arCatProd["ID"]]]["BALANCE"] = FloatVal($arCatProd["QUANTITY"]); } $this->IncludeComponentTemplate(); return $arResult; ?>