И снова свойства, но уже разделов.
Очень часто, делая каталог на 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?>
[url=http://zmkshop.ru/uslugi/chto-soboy-predstavlyayut-bystrovozvodimye-zdaniya/]что такое сейсмоустойчивость ангаров[/url]
It’s very interesting! If you need help, look here: hitman agency