Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
- /** @var CBitrixComponent $this */
- /** @var array $arParams */
- /** @var array $arResult */
- /** @var string $componentPath */
- /** @var string $componentName */
- /** @var string $componentTemplate */
- /** @global CDatabase $DB */
- /** @global CUser $USER */
- /** @global CMain $APPLICATION */
- use Bitrix\Main\Loader,
- Bitrix\Main,
- Bitrix\Iblock;
- if(!isset($arParams["CACHE_TIME"]))
- $arParams["CACHE_TIME"] = 360000000;
- $arParams["IBLOCK_CATALOG_ID"] = intval($arParams["IBLOCK_CATALOG_ID"]);
- if($arParams["IBLOCK_CATALOG_ID"]<=0)
- $arParams["IBLOCK_CATALOG_ID"] = 2;
- $arParams["IBLOCK_NEWS_ID"] = intval($arParams["IBLOCK_NEWS_ID"]);
- if($arParams["IBLOCK_NEWS_ID"]<=0)
- $arParams["IBLOCK_NEWS_ID"] = 1;
- $arParams["PROPS_LINK"] = trim($arParams["PROPS_LINK"]);
- if(strlen($arParams["PROPS_LINK"])<=0)
- $arParams["PROPS_LINK"] = 'LINK_TO_SECTION';
- if($this->startResultCache(false))
- {
- if(!Loader::includeModule("iblock"))
- {
- $this->abortResultCache();
- ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED"));
- return;
- }
- $arSelect = array(
- "ID",
- "IBLOCK_ID",
- "ACTIVE_FROM",
- "DETAIL_PAGE_URL",
- "NAME",
- "PROPERTY_".$arParams['PROPS_LINK']
- );
- $arFilter = array (
- "IBLOCK_ID"=> $arParams["IBLOCK_NEWS_ID"],
- "ACTIVE" => "Y",
- "CHECK_PERMISSIONS" => "Y",
- );
- $arOrder= array();
- $arResult=array(
- "NEWS"=>array(),
- );
- $rsItems = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
- $arSectionIds=array();
- while($arNews = $rsItems->GetNext())
- {
- foreach($arNews['PROPERTY_LINK_TO_SECTION_VALUE'] as $k=>$v){
- $arSectionIds[]= $v;
- }
- $arResult["NEWS"][]=$arNews;
- }
- $arSectionIds = array_unique($arSectionIds);
- $arSelect = array(
- "ID",
- "IBLOCK_ID",
- "NAME",
- "IBLOCK_SECTION_ID",
- "PROPERTY_PRICE",
- "PROPERTY_ARTNUMBER",
- "PROPERTY_MATERIAL",
- );
- $arFilter = array (
- "IBLOCK_ID" => $arParams["IBLOCK_CATALOG_ID"],
- "ACTIVE" => "Y",
- "SECTION_ID" => $arSectionIds,
- "CHECK_PERMISSIONS" => "Y",
- );
- $arOrder= array();
- $arResult["CATALOG"] = array();
- $rsCatalogItems = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
- $arResult['ELEMENT_COUNT'] = $rsCatalogItems->SelectedRowsCount();
- while($arCatalog = $rsCatalogItems->GetNext())
- {
- $arResult["CATALOG"][$arCatalog['IBLOCK_SECTION_ID']]['ITEMS'][]=$arCatalog;
- }
- }
- $arFilter = array(
- 'IBLOCK_ID'=>$arParams["IBLOCK_CATALOG_ID"],
- 'GLOBAL_ACTIVE'=>'Y',
- 'ID'=>$arSectionIds);
- $db_list = CIBlockSection::GetList($arOrder, $arFilter, false);
- while($ar_result = $db_list->GetNext())
- {
- $arResult["CATALOG"][$ar_result['ID']]['NAME']=$ar_result['NAME'];
- }
- $this->setResultCacheKeys(array(
- "ELEMENT_COUNT",
- ));
- $this->includeComponentTemplate();
- }
- if($arResult["ELEMENT_COUNT"])
- {
- $APPLICATION->SetTitle('В каталоге товаров представлено товаров: '.$arResult["ELEMENT_COUNT"]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement