- Створення призначеного для користувача поля розділу в Bitrix
- Висновок призначеного для користувача поля розділу в Bitrix
Розширюючи свої розділи додатковими полями, ви можете сильно збільшити їх функціонал і значно доповнити відсутньої інформацією.
Особисто переді мною постало завдання кардинально змінити зовнішній вигляд загального списку категорій магазину, а для цього як раз я і вдався до додаткових полях.
Створення призначеного для користувача поля розділу в Bitrix
Отже, для того щоб вам створити своє поле для розділу (категорії), зробимо наступне.
1. Авторизуйтесь в панелі управління Bitrix .
2. У лівому меню відкрийте розділ «Контент», а в що з'явилася навігації, в розділі «Каталог», натисніть на пункт «Каталог товарів».
3. Після того, як у вас відкрився список ваших розділів, ви тиснете на іконку виклику меню, в якому імені команди «Змінити».
4. На сторінці редагування каталогу ви переключаєтеся на вкладку «Доп. поля », а в ній тиснете посилання« Додати призначене для користувача властивість ».
До речі кажучи, все створені вами поля будуть відображатися як раз в цій вкладці, нижче під посиланням.
5. Після того, як в попередньому кроці ми перейшли по посиланню, у нас відкрилася форма додавання поля:
Що нас тут здебільшого цікавить?
- Тип - це тип даних, що вводяться. Якщо у вас простий текст, то рекомендую вибирати «Рядок», якщо ж у вас число або ціна - для них теж є свої типи в випадаючому списку. Я роблю приклад виведення додаткового заголовка, тому я виберу тип «Рядок».
- Об'єкт. Це те, в якому розділі буде виводитися на цьому полі. У вашому випадку, якщо ви перейшли сюди за посиланням з розділу, буде заповнено автоматично.
- Код поля. Унікальне ім'я вашого поля (може містити тільки AZ, 0-9 і _). Обов'язково запам'ятайте це ім'я, так як воно буде потрібно нам для виведення.
- Сортування - порядок виведення поля в загальному списку полів розділу.
- Значення за замовчуванням - те значення, яке буде заповнено за замовчуванням при створенні кожного нового розділу.
- Кількість рядків. Якщо у вас поле призначене для заголовка, то краще за все ставте «1», якщо воно служить для заповнення, наприклад, опису - то виставте «10» або інший зручний для вас кількість рядків.
- Мінімальна / Максимальна довжина рядка - поля для визначення граничних умов довжини даних поля. Дуже корисна річ, коли ви задаєте якусь маску. Наприклад, індекс в Росії шестизначний, звідси мінімальне і максимальне значення буде «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-му пункті. Якщо раптом ви не записали назву поля, то дізнатися його ви можете в такий спосіб.
- Авторизуйтесь в панелі управління сайтом .
- У лівому меню відкрийте розділ «Налаштування». У що з'явилася навігації виберіть пункт «Налаштування продукту» - «Призначені для користувача поля», після чого у вас відкриється список з усіма полями, де ви шукаєте ім'я вашого поля.
- Весь код у висновку даних з поля з'являється тільки при наявності в ньому інформації в панелі управління вашим сайтом.
На цьому, власне, і все. Висновок полів насправді простий, головне - це коректне повернення даних змінними і задане ім'я вашого поля. Якщо якісь моменти здалися вам не зовсім зрозумілими - не соромтеся і питайте про це в коментарях під цією статтею.
Php if ($ my_title) {echo <<< HTML <h1> {$ my_title} </ h1> HTML; }?