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

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

Вход Регистрация
Быстрый вход / регистрация, через социальную сеть
Регистрируясь на форуме, Вы безоговорочно принимаете условия политики конфеденциальности и обработки персональных данных
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']; //название раздела
}
Читают тему (гостей: 1)