Телеграм: @camouf_ru Почта: mihail@bazarow.ru Заказать разработку проекта

Выборочный вывод разделов на главной

Внимание! все сообщения проходят премодерацию. Ваше сообщение появится после проверки
Ответить
RSS
Выборочный вывод разделов на главной
 
Михаил, день добрый. Подскажите пожалуйста, как можно вывести на главную страницу не все разделы каталога, а только выборочные? И как настроить свойство, какой раздел выводить на главной, а кокой не надо?
 
Цитата
Roman Selkin написал:
Михаил, день добрый. Подскажите пожалуйста, как можно вывести на главную страницу не все разделы каталога, а только выборочные? И как настроить свойство, какой раздел выводить на главной, а кокой не надо?
Просто создайте пользовательское свойства для раздела. Типа чекбокс.
Ну и на главной, просто через catalog.section.list или через API отфильтруйте их по этому признаку.

Что бы получить пользовательские поля, можно использовать фильтр:
Код
arSelect = Array("UF_WEBSITE", "UF_BOTTOM_TEXT")); //Выборочные свойства
или
Код
arSelect = Array("UF_*")); //Все свойства
 
Цитата
Михаил Базаров написал:
Цитата
Roman Selkin написал:
Михаил, день добрый. Подскажите пожалуйста, как можно вывести на главную страницу не все разделы каталога, а только выборочные? И как настроить свойство, какой раздел выводить на главной, а кокой не надо?
Просто создайте пользовательское свойства для раздела. Типа чекбокс.
Ну и на главной, просто через catalog.section.list или через API отфильтруйте их по этому признаку.

Что бы получить пользовательские поля, можно использовать фильтр:
Код
 arSelect = Array("UF_WEBSITE", "UF_BOTTOM_TEXT")); //Выборочные свойства
 
или
Код
 arSelect = Array("UF_*")); //Все свойства
 
Михаил, а вы можете помочь в данном вопросе? Не очень понял понял куда это ( arSelect = Array("UF_*")); //Все свойства) нужно вставить? Я новичок в этом.
 
Словами это не описать, нудновато и не понятно получается.
Завтра сделаю видео, как раз есть такая же задачка на одном из проектов.
Выложу сюда.
 
Цитата
Михаил Базаров написал:
Словами это не описать, нудновато и не понятно получается.
Завтра сделаю видео, как раз есть такая же задачка на одном из проектов.
Выложу сюда.
Огромное спасибо
 
Все таки опишу словами. С видео пока напряженка:
По сути, работа заключается в  использовании пользовательского поля для раздела инфоблока

- Создаем пользовательское поле раздела, типа список со значениями да/нет.
- Значение по умолчанию "нет"
- Пусть называется 'UF_MAIN_PAGE'


Вариант 1:
Выводим стандартный компонент section.list и в его параметрах указываем
Код
"SECTION_USER_FIELDS" => array(
    0 => "UF_MAIN_PAGE",
    1 => "",
),
В шаблоне выполняем проверку на значение этого поля (оно true/false (если да = 1, если нет пустое)) если указано да, выводим раздел с ссылкой
Код
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
$this->setFrameMode(true);
?>
<div class="main_page_links">
    <? foreach ($arResult["SECTIONS"] as $arSection) {
        if ($arSection['UF_MAIN_PAGE'] == true) {
            ?>
            <a href="<?= $arSection["SECTION_PAGE_URL"] ?>"><?= $arSection["NAME"] ?></a>
            <?
        }
    } ?>
</div>


Вариант 2:
Суть та же. Но через API - без использования компонента
Код
$arFilter = array(
    "IBLOCK_ID" => 9, // Сюда ID нужного инфоблока
    "UF_MAIN_PAGE" => true
);
$rsSect = CIBlockSection::GetList(array(),$arFilter,false,false);
while ($arSect = $rsSect->GetNext())
{
    echo $arSect['SECTION_PAGE_URL']; //ссылка
    echo $arSect['NAME']; //название раздела
}
Ответить
Форма ответов
 
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Загрузить картинки
 
Заметки разработчика

Примерно с 2013-го года пишу, короткие и не очень, заметки по разработке сайтов на Битрикс. Возможно, будут полезны кому-то еще. Во всех заметках есть возможность комментирования и обсуждения. Вы можете задавать уточняющие вопросы прямо там- отвечаю или дополняю заметки по возможности.

attention