ДОБАВИТЬ И ВЫВЕСТИ ЗНАЧЕНИЕ СВОЙСТВА РАЗДЕЛА (ПОЛЬЗОВАТЕЛЬСКОГО ПОЛЯ) В БИТРИКСЕ

И снова свойства, но уже разделов. 

Очень часто, делая каталог на 1С-Битриксе, требуется задать свойства и разделам, не только элементам. В стандартном функционале у нас есть только изображение и описание.

Чтобы вывести изображение раздела, нужно в шаблоне catalog.section прописать следующий код:

Код<?php if ($arResult["PICTURE"]["SRC"]) {?>
<a onclick="return hs.expand(this)" title="<?=$arResult["NAME"]?>" href="<?=$arResult["PICTURE"]["SRC"]?>">
<img style="width:300px" src="<?=$arResult["PICTURE"]["SRC"]?>" title="<?=$arResult["NAME"]?>" />
<?php } else { ?><?php }?>

Чтобы было яснее, у меня идет сначала проверка, есть ли фотография, а потом идет вывод фотографии, там class и onclick — это остатки от галереи, не обращайте на них внимания. Если фотографии нет, то ничего и не выводится.

Чтобы вывести описание раздела, в шаблоне catalog.section прописываем код:

Код<?=$arResult["DESCRIPTION"]?>

Или для раздела news.list, если параметр выдается в виде массива Array:

Код<?foreach($arResult["SECTION"]["PATH"] as $arSection):?>
<?=$arSection["DESCRIPTION"]?>
<?endforeach;?>

Теперь самая соль.

Чтобы задать дополнительное свойство раздела, нужно использовать Пользовательские поля.
Заходим в свойства раздела, выбираем вкладку «Доп. свойства» и нажимаем на «Добавить пользовательское поле».
Создаете нужное поле требуемого типа и сохраняете. Потом в Свойствах раздела вы заполняете ваше созданное свойство раздела.
Теперь, самое главное, чтобы вывести свойство раздела (пользовательское поле) нужно, всё в том же шаблоне catalog.section прописать следующий код:

Для НЕ МНОЖЕСТВЕННОГО свойства раздела (пользовательского поля):

Код<?
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter = Array("IBLOCK_ID"=>$arResult["IBLOCK_ID"], "ID"=>$arResult["ID"]), true,$arSelect=Array("UF_DOC"));
while($ar_result = $db_list->GetNext()):
?>
<?=CFile::GetPath($ar_result["UF_DOC"]); ?>
<?endwhile?>

Для МНОЖЕСТВЕННОГО свойства раздела (пользовательского поля):

Код<?
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter = Array("IBLOCK_ID"=>$arResult["IBLOCK_ID"], "ID"=>$arResult["ID"]), true,$arSelect=Array("UF_FILE"));
while($ar_result = $db_list->GetNext()):
?>
<?foreach($ar_result["UF_FILE"] as $PHOTO):?>
<?=CFile::GetPath($PHOTO); ?>
<?endforeach?>
<?endwhile?>

В данном случае код используется CFile::GetPath, чтобы вывести ссылку на файл, дальше обработать ее, думаю, не составит труда.

Таким образом для значения типа данных «Файл» используем:

Код<?=CFile::GetPath($PHOTO); ?>

а, чтобы вывести текстовое значение поля типа данных «Строка»:

Код<?=$ar_result["UF_TEXT"] ?>

Для вывода пользовательского поля в шаблоне catalog.section.list я использовал следующий кода:

Код<?
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter = Array("IBLOCK_ID"=>$arSection["IBLOCK_ID"], "ID"=>$arSection["ID"]), true,$arSelect=Array("UF_ACT"));
while($ar_result = $db_list->GetNext()):
?>
<? if ($ar_result["UF_ACT"]):?>
<font color="red">Акция!</font>
<? endif ?>
<?endwhile?>
 

ДОБАВИТЬ И ВЫВЕСТИ ЗНАЧЕНИЕ СВОЙСТВА РАЗДЕЛА (ПОЛЬЗОВАТЕЛЬСКОГО ПОЛЯ) В БИТРИКСЕ

1 024 мыслей о “ДОБАВИТЬ И ВЫВЕСТИ ЗНАЧЕНИЕ СВОЙСТВА РАЗДЕЛА (ПОЛЬЗОВАТЕЛЬСКОГО ПОЛЯ) В БИТРИКСЕ