本文整理汇总了PHP中CIBlockPriceTools::needDiscountCache方法的典型用法代码示例。如果您正苦于以下问题:PHP CIBlockPriceTools::needDiscountCache方法的具体用法?PHP CIBlockPriceTools::needDiscountCache怎么用?PHP CIBlockPriceTools::needDiscountCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CIBlockPriceTools
的用法示例。
在下文中一共展示了CIBlockPriceTools::needDiscountCache方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetOffersArray
public static function GetOffersArray($arFilter, $arElementID, $arOrder, $arSelectFields, $arSelectProperties, $limit, $arPrices, $vat_include, $arCurrencyParams = array(), $USER_ID = 0, $LID = SITE_ID)
{
global $USER;
$arResult = array();
$boolCheckPermissions = false;
$boolHideNotAvailable = false;
$showPriceCount = false;
$IBLOCK_ID = 0;
if (!empty($arFilter) && is_array($arFilter))
{
if (isset($arFilter['IBLOCK_ID']))
$IBLOCK_ID = $arFilter['IBLOCK_ID'];
if (isset($arFilter['HIDE_NOT_AVAILABLE']))
$boolHideNotAvailable = ($arFilter['HIDE_NOT_AVAILABLE'] === 'Y');
if (isset($arFilter['CHECK_PERMISSIONS']))
$boolCheckPermissions = ($arFilter['CHECK_PERMISSIONS'] === 'Y');
if (isset($arFilter['SHOW_PRICE_COUNT']))
{
$showPriceCount = (int)$arFilter['SHOW_PRICE_COUNT'];
if ($showPriceCount <= 0)
$showPriceCount = false;
}
}
else
{
$IBLOCK_ID = $arFilter;
}
if (self::$needDiscountCache === null)
{
$pricesAllow = CIBlockPriceTools::GetAllowCatalogPrices($arPrices);
if (empty($pricesAllow))
{
self::$needDiscountCache = false;
}
else
{
$USER_ID = (int)$USER_ID;
$userGroups = ($USER_ID > 0 ? CUser::GetUserGroup($USER_ID) : $USER->GetUserGroupArray());
$tmp = CIBlockPriceTools::SetCatalogDiscountCache($pricesAllow, $userGroups);
unset($tmp, $userGroups);
}
unset($pricesAllow);
}
$arOffersIBlock = CIBlockPriceTools::GetOffersIBlock($IBLOCK_ID);
if($arOffersIBlock)
{
$arDefaultMeasure = CCatalogMeasure::getDefaultMeasure(true, true);
$limit = (int)$limit;
if (0 > $limit)
$limit = 0;
if(!isset($arOrder["ID"]))
$arOrder["ID"] = "DESC";
$intOfferIBlockID = $arOffersIBlock["OFFERS_IBLOCK_ID"];
$arFilter = array(
"IBLOCK_ID" => $intOfferIBlockID,
"PROPERTY_".$arOffersIBlock["OFFERS_PROPERTY_ID"] => $arElementID,
"ACTIVE" => "Y",
"ACTIVE_DATE" => "Y",
);
if ($boolHideNotAvailable)
$arFilter['CATALOG_AVAILABLE'] = 'Y';
if ($boolCheckPermissions)
{
$arFilter['CHECK_PERMISSIONS'] = "Y";
$arFilter['MIN_PERMISSION'] = "R";
}
$arSelect = array(
"ID" => 1,
"IBLOCK_ID" => 1,
"PROPERTY_".$arOffersIBlock["OFFERS_PROPERTY_ID"] => 1,
"CATALOG_QUANTITY" => 1
);
//if(!$arParams["USE_PRICE_COUNT"])
{
foreach($arPrices as $value)
{
if (!$value['CAN_VIEW'] && !$value['CAN_BUY'])
continue;
$arSelect[$value["SELECT"]] = 1;
if ($showPriceCount !== false)
{
$arFilter['CATALOG_SHOP_QUANTITY_'.$value['ID']] = $showPriceCount;
}
}
}
foreach($arSelectFields as $code)
$arSelect[$code] = 1; //mark to select
if (!isset($arSelect['PREVIEW_PICTURE']))
$arSelect['PREVIEW_PICTURE'] = 1;
if (!isset($arSelect['DETAIL_PICTURE']))
//.........这里部分代码省略.........