Поддержка серверов

Код #232478

<?php

// set array of all sections in $arSections
$resSection = 049d36e5bb4fe160d78b2651c21492a2CIBlockSection::GetList(
    Array(),
    Array(
"IBLOCK_ID" => 9"ACTIVE" => "Y"),
    
false,
    Array(
"ID""CODE""NAME""IBLOCK_SECTION_ID""PICTURE""DEPTH_LEVEL")
);

$iMaxDepthLevel 0// set max depth level
$arSections = Array();
while(
$arSection $resSection->Fetch()) {
    
$arSections[$arSection["ID"]] = $arSection;
    
    if(
$arSection["DEPTH_LEVEL"] > $iMaxDepthLevel) {
        
$iMaxDepthLevel $arSection["DEPTH_LEVEL"];
    }
}

// get company products in $arProds
$resProds CIBlockElement::GetList(
    Array(),
    Array(
"IBLOCK_ID" => 10"PROPERTY_COMPANY" => $arResult["ID"]),
    
false,
    
false,
    Array(
"ID""IBLOCK_ID""PROPERTY_SECTION")
);

$arProds = Array();
while(
$arProd $resProds->Fetch()) {
    
$arProds[$arProd["ID"]] = $arProd;
}

// set sections to show
foreach($arProds as $arProd) {
    foreach(
$arProd["PROPERTY_SECTION_VALUE"] as $iSectionId) {
        
$arSections[$iSectionId]["SHOW"] = true;
    }
}

// set show param to parent sections
for($i=$iMaxDepthLevel$i>1$i--) {
    foreach(
$arSections as $iSectionId=>$arSection) {
        if(
$arSection["DEPTH_LEVEL"] == $i && $arSection["SHOW"]) {
            
$arSections[$arSection["IBLOCK_SECTION_ID"]]["SHOW"] = true;
        }
    }
}

Текст сообщения*
Загрузить изображение