Добрый день. Подскажите, пожалуйста, как, зная ID элемента, получить ID самого верхнего родительского раздела, если элемент лежит на 3 уровне вложенности?
Спасибо большое заранее!
Спасибо большое заранее!
|
Добрый день. Подскажите, пожалуйста, как, зная ID элемента, получить ID самого верхнего родительского раздела, если элемент лежит на 3 уровне вложенности?
Спасибо большое заранее! |
|
|
|
|
|
м.б. поможет информация которая здесь:
|
|
|
|
|
|
Пробовал. Возвращает только раздел элемента, в котором он находится.
|
|
|
|
|
|
сначала делаем CIBlockElement::GetByID и получаем IBLOCK_SECTION_ID и запускаем CIBlockSection::GetList до тех пор пока DEPTH_LEVEL не будет равен 0.
|
|
|
|
|
|
Спасибо большое!
|
|
|
|
|
|
спасибо:)
|
|
|
|
|
|
function getParent($id){
$tt = CIBlockSection::GetList(array(), array('ID'=>$id)); $as=$tt->GetNext(); static $a; if($as['DEPTH_LEVEL']==1) $a = $as['ID']; else{ getParent($as['IBLOCK_SECTION_ID']); } return $a; } echo getParent(175); |
|
|
|
|
|
Спасибо. Как раз, то что нужно. Задача была в некоторых разделах верхнего уровня по другому выводить список товаров.
В catalog.section сделал так:
|
|||
|
|
|
|
Евгений Карпюк, кусочек кода работает не так как нужно (или я понял задачу не так).
Например, есть иерарихя: - Раздел 1 -- Раздел 1.1 --- Раздел 1.1.1 ---- Раздел 1.1.1.1 ---- Раздел 1.1.1.2 ---- Раздел 1.1.1.3 ---- Раздел 1.1.1.4 --- Раздел 1.1.2 --- Раздел 1.1.3 -- Раздел 1.2 --- Раздел 1.2.1 --- Раздел 1.2.2 - Раздел 2 -- Раздел 2.1 -- Раздел 2.2 --- Раздел 2.2.1 Что должна вывести функция в условиях: 1) элемент находится в разделах: 1 2) элемент находится в разделах: 1.1 3) элемент находится в разделах: 1.1.1 4) элемент находится в разделах: 1.1.1.1 5) элемент находится в разделах: 1.1.1.1 и 1.2.1 6) элемент находится в разделах: 1.1.1.1 и 1.2.1 7) элемент находится в разделах: 1.1.1.3, 1.1.1.4, 2.2.2
Голосуй за идеи по развитию API Bitrix:
|
||||
|
|
|
|||