RSS
Как можно вывести просто ссылки на все разделы и элементы в карту сайта?
 
Здравствуйте, Михаил и посетители данного прекрасного сайта. Есть задача вывести ссылки на все разделы и элементы каталога товара. Помогите пожалуйста может кто сталкивался и можно это все реализовать без особых знаний. Попробовал через штатный компонент main.map (карта сайта), выводятся только разделы.

Какие варианты вообще есть? Может есть готовый код?
Спасибо!
Изменено: classsystem@icloud.com - 19 декабря 2019 20:08:34
 
Можно кастомизировать компонент catalog.section.list или menu (наверное, menu предпочтительнее).
Просто добавить в него вывод ссылок и названий элементов, в структуированном виде.

Если прикинуть, думаю, можно и в main.map - но давно в нем не ковырялся.

Если по простому: зная ID или CODE разделов (должны быть в массиве $arResult), можете получить список входящих в него элементов.
Дальше, через result_modifier и CIBlockElement::GetList, добавляте данные о элементах в этот массив (название и ссылку)

PS: Вариант с result_modifier, дабы не выносить компонент в свое пространство имен- не на столько важная доработка.
 
Цитата
Михаил Базаров написал:
Можно кастомизировать компонент catalog.section.list или menu (наверное, menu предпочтительнее).
Просто добавить в него вывод ссылок и названий элементов, в структуированном виде.

Если прикинуть, думаю, можно и в main.map - но давно в нем не ковырялся.

Если по простому: зная ID или CODE разделов (должны быть в массиве $arResult), можете получить список входящих в него элементов.
Дальше, через result_modifier и CIBlockElement::GetList, добавляте данные о элементах в этот массив (название и ссылку)

PS: Вариант с result_modifier, дабы не выносить компонент в свое пространство имен- не на столько важная доработка.
Спасибо, буду разбираться.
 
Михаил Базаров, извините, что то я никак не представляю как это все реализовать. Помогите пожалуйста. Как сделать это через компонент меню? В интернете нашел код по выводу разделов, на примере него реализовал вывод элементов, как это все дело совместить?

Пожалуйста простите, что может довольно как то глупо у Вас это все просить, я новичок, но что то все таки умею. Но с этим как то не совсем получается.

Было бы супер если бы прислали готовый для реализации этого дела через компонент меню.

Спасибо!

Вывод элементов
Код
    $IBLOCK_ID = 2;
    $arFilter = Array('IBLOCK_ID' => $IBLOCK_ID);
    $res = CIBlockElement::GetList(array(), $arFilter);
    while($ar_fields = $res->GetNext())
    {
       echo $ar_fields["ID"].": ".$ar_fields["NAME"]."<br>";
    }
Вывод разделов и подразделов
Код
$IBLOCK_ID    = 2;
$arFilter    = Array(
      'IBLOCK_ID'=>$IBLOCK_ID, 
      'GLOBAL_ACTIVE'=>'Y');
$obSection    = CIBlockSection::GetTreeList($arFilter);

while($arResult = $obSection->GetNext()){
   for($i=0;$i<=($arResult['DEPTH_LEVEL']-2);$i++)
    echo "..";
     echo $arResult['NAME'].'<br>';
}
Читают тему (гостей: 1)
Мой youtube канал.

На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал

Блог-note разработчика

Авторизация

На сайте работает вход через социальные сети. Просто, выберите наиболее удобную сеть и авторизация произойдет автоматически:
Проходя авторизацию, Вы безоговорочно принимаете условия политики конфеденциальности