01.ноя.2024

Выводит разделы на главной по галочке UF свойства

У каталога, разделов создаем UF_SHOW_MAIN_PAGE, Тип: Да/Нет

Задача состоит в том, чтобы выводить на главной выбранные разделы по отмеченной галочке, через UF_* свойство, для этого переходим в нужный раздел на вкладку "Доп.поле" и нажимает на "Добавить пользовательское свойство" 

 
Доп поле раздела

Дале заполняем наше свойство:

Настройка UF свойства

Нажимаем сохранить, нас перекидывает обратно в "Доп поле" раздела, где мы видим наше свойство, ставим галочку:


Доп поле раздела с свойством UF

далее в шаблоне: Catalog.section.list вставляем код:


<?

use Bitrix\Main\Diag\Debug;

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
	 die();
}
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */
$this->setFrameMode(true);
$strSectionEdit = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "SECTION_EDIT");
$strSectionDelete = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "SECTION_DELETE");
$arSectionDeleteParams = ["CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM')];
?>
<section class="s_prod_container mb80">

    <div class="prod_container">
        <?if(isset($arParams["TITLE_H2"])):?>
            <h2><?=$arParams["TITLE_H2"]?></h2>
        <?else:?>
            <h2>Категории товаров</h2>
        <?endif;?>

        <? if (0 < $arResult["SECTIONS_COUNT"]): ?>
            <div class="categories_container">
                    <div class="categories_container__block">
                        <?php foreach ($arResult['SECTIONS'] as $arSection): ?>
                            <? if ($arSection["UF_SHOW_MAIN_PAGE"]):?>

                                  <?$this -> AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], $strSectionEdit);?>
                                  <?$this -> AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], $strSectionDelete, $arSectionDeleteParams);?>

                                <a href="<?=$arSection["SECTION_PAGE_URL"];?>" class="categories_container__item" id="<?=$this->GetEditAreaId($arSection['ID']);?>">

                                    <?php if ($arSection["PICTURE"]["SRC"]): ?>
                                       <img class="categories_container__item_img" src="<?=$arSection["PICTURE"]["SRC"]?>" alt="<?=$arSection["NAME"];?>">
                                    <?php endif; ?>

                                    <div class="categories_container__item_title"><?=$arSection["NAME"];?></div>
                                </a>
                            <?endif;?>
                        <?php endforeach; ?>
                    </div>
            </div>
        <? endif; ?>

    </div>
</section>
← Назад к списку новостей