Удалить повторяющиеся строки   •   Online-инструменты
1 189 просм
0 комм
Поделиться:

Как создать и вывести пользовательское поле раздела в Bitrix?

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

Лично передо мной встала задача кардинально изменить внешний вид общего списка категорий магазина, а для этого как раз я и прибег к дополнительным полям.

Создание пользовательского поля раздела в Bitrix

Итак, для того чтобы вам создать свое поле для раздела (категории), сделаем следующее.

1. Авторизуйтесь в панели управления Bitrix.

2. В левом меню откройте раздел «Контент», а в появившейся навигации, в разделе «Каталог», нажмите на пункт «Каталог товаров».

Как создать и вывести пользовательское поле раздела в Bitrix?

3. После того, как у вас открылся список ваших разделов, вы жмете на иконку вызова меню, в котором выбираете пункт «Изменить».

Как создать и вывести пользовательское поле раздела в Bitrix?

4. На открывшейся странице редактирования каталога вы переключаетесь на вкладку «Доп. поля», а в ней жмете ссылку «Добавить пользовательское свойство».

Как создать и вывести пользовательское поле раздела в Bitrix?

Кстати говоря, все созданные вами поля будут отображаться как раз в этой вкладке, ниже под ссылкой.

5. После того, как в предыдущем шаге мы перешли по ссылке, у нас открылась форма добавления поля:

Как создать и вывести пользовательское поле раздела в Bitrix?

Что нас тут по большей части интересует?

  1. Тип – это тип вводимых данных. Если у вас простой текст, то рекомендую выбирать «Строка», если же у вас число или цена – для них тоже есть свои типы в выпадающем списке. Я делаю пример вывода дополнительного заголовка, поэтому я выберу тип «Строка».
  2. Объект. Это то, в каком разделе будет выводиться данное поле. В вашем случае, если вы перешли сюда по ссылке с раздела, будет заполнено автоматически.
  3. Код поля. Уникальное имя вашего поля (может содержать только A-Z, 0-9 и _). Обязательно запомните это имя, так как оно потребуется нам для вывода.
  4. Сортировка – порядок вывода поля в общем списке полей раздела.
  5. Значение по умолчанию – то значение, которое будет заполнено по умолчанию при создании каждого нового раздела.
  6. Количество строк. Если у вас поле предназначено для заголовка, то лучше всего ставьте «1», если оно служит для заполнения, например, описания – то выставьте «10» или другое удобное для вас количество строк.
  7. Минимальная/Максимальная длина строки – поля для определения граничных условий длины данных поля. Очень полезная вещь, когда вы задаете некую маску. Например, индекс в России шестизначный, отсюда минимальное и максимальное значение будет «6».

Помимо этого, ниже есть блок языковых настроек (он не убрался на скриншоте). Там вы задаете название поля, которое будет отображаться в списке полей, а также подсказку по его заполнению в разделе. Сложного ничего нет, думаю, сообразите. Остальные параметры я здесь не рассматриваю, так как того, что описано в статье, вам вполне хватит. Если почему-то у вас остались вопросы – задавайте их в комментариях.

После того, как необходимое поле задано – жмете «Сохранить» или «Применить». В случае, если ошибок никаких не возникло, ваше поле будет успешно задано и оно будет отображаться в соответствующей вкладке на странице редактирования раздела, о чем я писал ранее.

Можете заполнить ваши поля нужной информацией, а дальше мы поговорим о том, как вывести эти самые поля.

Вывод пользовательского поля раздела в Bitrix

Теперь логично перейти к выводу созданных ранее нами полей. Все изменения мы будем совершать в теме сайта.

1. Подключитесь к вашему сайту по FTP.

2. Откройте файл, отвечающий за вид разделов. У меня это был файл template.php в папке /bitrix/templates/pandoge_com/components/bitrix/catalog.section.list/sections_list/, где «pandoge_com» – название моей темы. В вашем же случае иерархия папок может немного отличаться.

В нем, в нужном вам месте, вы используете следующую конструкцию внутри перебора массива:

<?php
	
	$rsResult = CIBlockSection::GetList(array("SORT" => "ASC"), array("IBLOCK_ID" => $arItems["IBLOCK_ID"], "ID" => $arItems["ID"]), false, $arSelect = array("UF_*"));
	
	if($arSection = $rsResult->GetNext()) { 

		$my_title = $arSection["UF_DOP_TITLE"];
							
	}
						
?>

И, соответственно, пример вывода одного поля:

<?php

	if($my_title) {
	
		echo <<<HTML
	
			<h1>{$my_title}</h1>
	
HTML;
	
	}
	
?>

На что здесь нужно обратить внимание?

1. Переменные $arItems["IBLOCK_ID"] и $arItems["ID"] в коде должны возвращать вам ID инфоблока и раздела соответственно. Проверяйте отдельно возвращаемые результаты переменных через «echo» или «var_dump».

2. UF_DOP_TITLE – это имя вашего поля, которое вы задавали при создании в 3-м пункте. Если вдруг вы не записали название поля, то узнать его вы можете следующим образом.

  1. Авторизуйтесь в панели управления сайтом.
  2. В левом меню откройте раздел «Настройки». В появившейся навигации выберите пункт «Настройки продукта» - «Пользовательские поля», после чего у вас откроется список со всеми полями, где вы ищете имя вашего поля.
  3. Весь код в выводе данных из поля появляется только при наличии в нем информации в панели управления вашим сайтом.

На этом, собственно, и все. Вывод полей на самом деле простой, главное – это корректное возвращение данных переменными и заданное имя вашего поля. Если какие моменты показались вам не совсем понятными – не стесняйтесь и спрашивайте об этом в комментариях под данной статьей.

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария