Your IP : 3.138.126.170


Current Path : /home/bitrix/ext_www/home-comfort.in.ua/local/components/webprofy/smarttiles/
Upload File :
Current File : /home/bitrix/ext_www/home-comfort.in.ua/local/components/webprofy/smarttiles/component.php

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die;?>

<?php
include('functions.php');

// TODO: Добавить кэширование

// Определяем раздел из которого будем брать элементы для вывода
$arResult['SECTION'] = false; // Секция страницы
$arResult['ITEMS'] = array(); // Массив элементов
$arFilter = Array('IBLOCK_ID'=> $arParams['IBLOCK_ID'], 'GLOBAL_ACTIVE'=>'Y', 'ACTIVE' => 'Y', 'UF_PAGE_LINK'=> $APPLICATION->GetCurPage());
$arSection = CIBlockSection::GetList(Array(), $arFilter, true);
while($section = $arSection->GetNext()) {
    $arResult['SECTION'] = $section['ID'];
}

// Кол-во неактивных элементов
$arResult['INACTIVE_COUNT'] = 0; 

// Получим элементы для вывода в плитку
if($arResult['SECTION']) {
    $arFilter = Array("IBLOCK_ID" => $arParams['IBLOCK_ID'], "SECTION_ID" => $arResult['SECTION']);
    $items = CIBlockElement::GetList(Array("SORT" => "ASC"), $arFilter, false, Array("nPageSize" => 50), array());
    while ($item = $items->GetNextElement()) {
        $arItem = $item->GetFields();
        $arItem['PROPERTIES'] = $item->GetProperties();

        // Подготовим данные элементов
        $arItem['DETAIL_PAGE_URL'] = $arItem['PROPERTIES']['LINK']['VALUE'];

        if($arItem['DETAIL_PICTURE']){
            $arItem['PROPERTIES']['ADD_PICTURE']['PROPERTY_VALUE_ID'][] = $arItem['DETAIL_PICTURE'];
        }
        $arItem["PROPERTIES"]["PREVIEW_IMAGES"]["VALUE"] = $arItem['PROPERTIES']['ADD_PICTURE']['PROPERTY_VALUE_ID'];
        

        // Типы плиток: Раздел и список подразделов
        if($arItem['PROPERTIES']['CONTENT_TYPE']['VALUE_XML_ID'] == 'section') {
            $sectionInfo = CIBlockSection::GetByID($arItem['PROPERTIES']['SECTION']['VALUE'])->GetNext();
            $arItem['DETAIL_PAGE_URL'] = $sectionInfo['SECTION_PAGE_URL'];
            $arItem["PROPERTIES"]["PREVIEW_IMAGES"]["VALUE"][] = $sectionInfo['PICTURE'];
            $arItem['SECTION'] = $sectionInfo;
        }elseif($arItem['PROPERTIES']['CONTENT_TYPE']['VALUE_XML_ID'] == 'subsection'){
            $sectionInfo = CIBlockSection::GetByID($arItem['PROPERTIES']['SECTION']['VALUE'])->GetNext();
            $subsections = CIBlockSection::GetList(array("NAME"=>"DESC"), array('IBLOCK_ID'=>$sectionInfo['IBLOCK_ID'], 'SECTION_ID' => $sectionInfo['ID'],'GLOBAL_ACTIVE'=>'Y', 'ACTIVE' => 'Y'), true);
            $arItem['SECTION'] = $sectionInfo;
            while($subsection = $subsections->GetNext()) {
                $arItem['SECTION']['SUBSECTIONS'][] = array(
                    'NAME' => $subsection['NAME'],
                    "SECTION_PAGE_URL" => $subsection['SECTION_PAGE_URL']
                );
            }
        }

        // Типы плиток у которых есть ссылка у основного контейнера
        if(in_array($arItem['PROPERTIES']['CONTENT_TYPE']['VALUE_XML_ID'], array('section', 'photo')) && $arItem['DETAIL_PAGE_URL'] != "") {
            $arItem['HAS_LINK'] = true; // У этого типа есть ссылка
        }

        $arResult['ITEMS'][$arItem['ID']] = $arItem;

        if($arItem['ACTIVE'] != "Y") {
            $arResult['INACTIVE_COUNT']++;
        } 
    }
}

$this->IncludeComponentTemplate();
?>