Catalog section вывести свойства
И снова свойства, но уже разделов.
Очень часто, делая каталог на 1С-Битриксе, требуется задать свойства и разделам, не только элементам. В стандартном функционале у нас есть только изображение и описание.
Чтобы вывести изображение раздела, нужно в шаблоне catalog.section прописать следующий код:
Чтобы было яснее, у меня идет сначала проверка, есть ли фотография, а потом идет вывод фотографии, там class и onclick — это остатки от галереи, не обращайте на них внимания. Если фотографии нет, то ничего и не выводится.
Чтобы вывести описание раздела, в шаблоне catalog.section прописываем код:
Или для раздела news.list, если параметр выдается в виде массива Array:
Теперь самая соль.
Чтобы задать дополнительное свойство раздела, нужно использовать Пользовательские поля.
Заходим в свойства раздела, выбираем вкладку «Доп. свойства» и нажимаем на «Добавить пользовательское поле».
Создаете нужное поле требуемого типа и сохраняете. Потом в Свойствах раздела вы заполняете ваше созданное свойство раздела.
Теперь, самое главное, чтобы вывести свойство раздела (пользовательское поле) нужно, всё в том же шаблоне catalog.section прописать следующий код:
Для НЕ МНОЖЕСТВЕННОГО свойства раздела (пользовательского поля):
Для МНОЖЕСТВЕННОГО свойства раздела (пользовательского поля):
В данном случае код используется CFile::GetPath, чтобы вывести ссылку на файл, дальше обработать ее, думаю, не составит труда.
Таким образом для значения типа данных «Файл» используем:
а, чтобы вывести текстовое значение поля типа данных «Строка»:
Для вывода пользовательского поля в шаблоне catalog.section.list я использовал следующий кода:
8. Вывод пользовательского свойства типа «Привязка к элементам инф.блока» в разделе инфоблока catalog.section.list. Напрмер нужно выводить свзанные позиции другого каталога или связанные новости и т.п.
Для этого испольузуется следующий код:
«ASC»), array(«IBLOCK_ID» => «3», ‘ID’ => $arResult[«SECTION»][«ID»]), true, Array(«UF_NOV»));
while ($arResult = $rsResult -> GetNext())
<
if (!empty($arResult[«UF_NOV»])) // условие, что пустые занчения не выводим
<
$iter = $arResult[«UF_NOV»]; //получили наши ID элементов из ИБ id 8, которые привязаны к разделу ИБ id 3
>
>
//Здесь мы начинаем выводить элементы другого инфоблока с ID 8, к которым привязан наш раздел свойством UF_NOV
$arFilter = array(‘IBLOCK_ID’ => 8,’ID’ => $iter);//задаем в фильтр чтобы выводил тольк из ИБ id 8 и только нужные нам элемены по ID, которые мы получили выше
$rsItems = CIBlockElement::GetList(array(),$arFilter);
while ($arItem = $rsItems->GetNext())
<
if (!empty($iter)) // условие, что пустые занчения не выводим
<
$resizer = $arItem[‘PREVIEW_PICTURE’]; //функция ресайза картинки, если нужно
$file = CFile::ResizeImageGet($resizer, array(‘width’=>1000, ‘height’=>290), BX_RESIZE_IMAGE_PROPORTIONAL , true); //функция ресайза картинки, если нужно
$img = $file[‘src’]; //функция ресайза картинки, если нужно
echo ‘
‘.$arItem[«NAME»].»;
>
>
?>
Источник
bitrix:catalog.section вывод свойств
Если посмотреть инфоблок в визуальном редакторе, то в поле «Свойства» эти самые свойства не выводятся, т.е. выбрать их для отображения невозможно.
Если компонент заменить, например, на «новости», то свойства в визуальном редакторе видны.
Что я настроил не так?
Сделал новый инфоблок, в котором добавил только одно свойство:
Добавляю новый компонент, в котором выбираю этот самый инфоблок, но:
Цитата |
---|
Денис Сон написал: Обычно все что нужно — выбрать нужный инфоблок. Если нет — попробуйте создать свойства других типов, если нет — вручную укажите коды свойств. Но это уже ненормально, и нужно искать причину. |
1) Изменение типов свойств ни к чему не приводят.
2) Попробовал указать вручную — эффекта 0.
Пытаюсь найти причину. «Мопед не мой» (с), поэтому начал грешить на какой-то косяк в самом компоненте (вдруг разработчик ковырял родные компоненты). Установил голую сборку, оттуда скопировал bitrix:catalog.section, который вызываю из своей папки custom:catalog.section. Картинка стала правильной:
Выбираем нужные свойства, смотрим массив и видим, что они все равно не выводятся:
Источник
Вывод свойства инфоблока элемента в catalog.section
Создал пользовательское свойство инфоблока «Тест», тип строка, код: «test» .
На странице детального описания вывел таким кодом
,
однако в компоненте catalog.section таким кодом вывести свойство не получается
мне нужно вывести его отдельно от свойств выбранных в параметрах компонента, чтобы я мог разместить это поле в нужном месте
подскажите пожалуйста как можно решить проблему, спасибо.
1. указал (выделил в списке)в свойствах компонента (у меня это catalog.section) это поле test
2. отредактировал шаблон добавив сроку:
соответственно помести ее в div и засунув в то место , которое мне надо по дизайну
в итоге поле test отображается не с общим списком свойств инфоблока, а в там где я хочу
Подскажите пожалуйста, как тоже самое провернуть только со свойством типа FILES? мне нужно чтобы в отдельном месте выводились ссылки на файлы ( допустим их от 1 до 3) что то вроде такого
Название свойства1 Ссылка на файл1
Название свойства2 Ссылка на файл2
Название свойства3 Ссылка на файл3
пытаюсь это сделать уже третьи сутки, и чувствую озарение придет очень не скоро
Не совсем правильно меня поняли, Задача стоит такая
в шаблоне товара(детального просмотра) есть три вкладки
1. Описание — туда выводим полное описание товара
2. тех. хар — туда выводим список свойств ( как вы показали )
3. файлы — вот сюда нужно вывести перечень свойств типа files.
Цитата |
---|
Вадим Мухаметшин пишет: Не совсем правильно меня поняли, Задача стоит такая |
в шаблоне товара(детального просмотра) есть три вкладки
1. Описание — туда выводим полное описание товара
2. тех. хар — туда выводим список свойств ( как вы показали )
3. файлы — вот сюда нужно вывести перечень свойств типа files.
Вам нужно для компонента catalog.element (если компонент комплексный catalog ищите в нём) указать вывод пользовательских свойств,если вы сделали это то в шаблоне у вас должна быть проверка вида
А вобще в начале компонента выведите
Весь массив и посмотрите что он вам вернул.
Рекомендую вам пользоваться функцией pr у меня статья есть небольшая о ней. Поможет вам.
Функция PR
Источник
Вывод «Пользовательского поля» в разделе каталога
В шаблоне комплексного каталога в \bitrix\catalog.section\.default\template.php я вставил код
название, код, описание и свойства которые вказаны на странице как «Установить ключевые слова страницы из свойства:» выводит а мои не хочит.
Подскажите пожалуйста, как вывести свои пользовательские свойства?
Создал вот этот код, но он выводит поле только в случае если «Тип данных» — «Строка» и то не множественная, а как вывести остальные: «Список», «Привязка к разделам инф. блоков» и др.
Цитата |
---|
Alexandr пишет: Создал вот этот код, но он выводит поле только в случае если «Тип данных» — «Строка» и то не множественная, а как вывести остальные: «Список», «Привязка к разделам инф. блоков» и др. |
Вот мой код который выводит ИД списка пользовательских полей
Техподержка прислала мне следующий код
сделал так, но не работает
Цитата |
---|
«SECTION_USER_FIELDS» => array(‘UF_*’), |
Одна из причин почему не выводятся пользовательские свойства разделов — не указан ID инфоблока
То есть, фильтр:
Array(«ID» => $arResult[‘ORIGINAL_PARAMETERS’][‘SECTION_ID’], «ACTIVE» => «Y»)
не выведет ничего нужного
Но если указать:
Array(«ID» => $arResult[‘ORIGINAL_PARAMETERS’][‘SECTION_ID’], «ACTIVE» => «Y», «IBLOCK_ID» => 2),
то всё ок. саму цифру 2 — лучше заменить на значение из $arParams или $arResult[‘IBLOCK_ID’]
После этого свойства UF_ появляются в массиве
Источник
Структура разделов
Описание catalog.section.list
Компонент выводит список разделов инфоблока. Компонент стандартный, входит в дистрибутив модуля и содержит 4 шаблона: .default, old_version (шаблон .default до версии 14.0), tree и visual.
В визуальном редакторе компонент расположен по пути Контент > Каталог > Структура разделов.
Компонент относится к модулю Информационные блоки.
Параметры
Поле | Параметр | Описание | Примечание |
Основные параметры | |||
---|---|---|---|
Тип инфо-блока | IBLOCK_TYPE | Указывается один из созданных в системе типов информационных блоков. | |
Инфо-блок | IBLOCK_ID | Для выбранного типа инфоблоков указывается идентификатор необходимого информационного блока. | |
ID раздела | SECTION_ID | Указывается код, в котором передается идентификатор раздела. | |
Код раздела | SECTION_CODE | Указывается код раздела. | |
Источник данных | |||
Показывать количество элементов в разделе | COUNT_ELEMENTS | [Y|N] При отмеченной опции будет показано количество элементов в разделе. | |
Максимальная отображаемая глубина разделов | TOP_DEPTH | Параметр определяет максимальную глубину отображаемых разделов. | |
Поля разделов | SECTION_FIELDS | Указываются поля раздела, которые будут отображены на странице структуры разделов. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив: При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже (т.е. если задан пустой массив) ничего отображаться не будет. | |
Свойства раздела | SECTION_USER_FIELDS | Указываются свойства раздела, которые будут отображены на странице. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив. При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже, свойства не будут выведены. | |
Имя массива со значениями фильтра разделов | FILTER_NAME | Задается имя переменной, в которую передается массив параметров из фильтра. Если имя массива не указано, то будет использоваться значение по умолчанию. | |
Внешний вид (для шаблона .default и visual) | |||
Вид списка подразделов | VIEW_MODE | Определяется способ отображения списка подразделов: в виде списка (LINE), многоуровнего списка (LIST), текста (TEXT) или плитки (TILE). | |
Показывать название раздела | SHOW_PARENT_NAME | [Y|N] При отмеченной опции будет выводится название раздела (кроме раздела верхнего уровня). | |
Шаблоны ссылок | |||
URL, ведущий на страницу с содержимым раздела | SECTION_URL | Указывается путь к странице с содержимым раздела. | |
Настройки кеширования | |||
Тип кеширования | CACHE_TYPE | Тип кеширования:
| |
Время кеширования (сек.) | CACHE_TIME | Время кеширования, указанное в секундах. | |
Учитывать права доступа | CACHE_GROUPS | [Y|N] При отмеченной опции будут учитываться права доступа при кешировании. | |
Дополнительные настройки | |||
Включать раздел в цепочку навигации | ADD_SECTIONS_CHAIN | [Y|N] При отмеченной опции название или заголовок (если задан в настройках SEO) раздела будет включен в цепочку навигации. | |
Служебные параметры (не отображаются в настройках компонента) | |||
Кастомная сортировка по произвольному числу параметров | CUSTOM_SECTION_SORT | Данный служебный параметр можно передать в вызове компонента. Тип параметра — массив. Структура массива соответствует ключу $arOrder метода CIBlockSection::GetList. | Доступно с версии модуля iblock 20.0.400. Параметр не используется в штатных шаблонах комплексного компонента catalog. |
Пример вызова
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Чтобы выбрать все пользовательские поля раздела укажите
Источник