параметри компонента

параметри компонента

Файл .parameters.php повинен знаходитися в папці компонента. Мовний файл підключається автоматично (повинен лежати в папці / lang /<язык>/.parameters.php. щодо папки компонента).

У файлі визначається масив $ arComponentParameters. який описує вхідні параметри компонента. Якщо необхідно, проводиться вибірка будь-яких додаткових даних. Наприклад, для формування списку типів інформаційних блоків (вхідний параметр IBLOCK_TYPE_ID) вибираються всі активні типи.

Структура типового файлу .parameters.php (на прикладі компонентів, які працюють з модулем Інформаційні блоки):

Наведемо ключі масиву $ arComponentParameters докладніше.

Перелік стандартних груп:

  • ADDITIONAL_SETTINGS (сортування - 700). Ця група з'являється, наприклад, при вказівці параметра SET_TITLE.
  • CACHE_SETTINGS (сортування - 600). З'являється при вказівці параметра CACHE_TIME.
  • SEF_MODE (сортування 500). Група для всіх параметрів, пов'язаних з використанням ЧПУ.
  • URL_TEMPLATES (сортування 400). шаблони посилань
  • VISUAL (сортування 300). Рідко яка використовується група. Сюди передбачається заганяти параметри, що відповідають за зовнішній вигляд.
  • DATA_SOURCE (сортування 200). Тип і ID Інфоблоки.
  • BASE (сортування 100). Основні параметри.
  • AJAX_SETTINGS (сортування 550). Все, що стосується ajax.

PARAMETERS

Значення цього ключа є масив параметрів компонента. У кожній групі параметрів параметри розташовуються в тому порядку, в якому задані у файлі. Масив звичайних параметрів компонента складається з елементів такого вигляду:

Для типу елемента управління TYPE є значення:

  • LIST - вибір зі списку значень. Для типу LIST ключ VALUES містить масив значень такого вигляду:
  • STRING - текстове поле введення.
  • CHECKBOX - так / ні.
  • CUSTOM - дозволяє створювати кастомниє елементи управління.
  • FILE - вибір файлу.

Зовнішній вигляд списку змінюється в залежності від наявності / відсутності ключів MULTIPLE і ADDITIONAL_VALUES:

  • Якщо MULTIPLE і ADDITIONAL_VALUES відсутні або рівні "N", то виводиться просто список, ніяких значень в списку не додається.
  • Якщо ADDITIONAL_VALUES = "Y", MULTIPLE = "N", то в список додається значення "інше" і поруч доп.поле для введення значення вручну:

параметри компонента

  • Якщо ADDITIONAL_VALUES = "N", MULTIPLE = "Y", то в список нічого не додається, просто з'являється можливість вибрати кілька елементів:

    параметри компонента

  • Якщо ADDITIONAL_VALUES = "Y", MULTIPLE = "Y", то в список додається значення не вибрано густо множинне додаткове поле для введення значення вручну.

    Примітка. Скріншоти робилися для значення SIZE = 9. Якщо цей ключ не вказувати, список буде випадає.

    Параметр REFRESH дозволяє після вибору значення перевантажити всю форму з параметрами. Робиться це, наприклад, для вибору Інфоблоки конкретного типу. Тобто маємо два параметра - тип Інфоблоки і код Інфоблоки. Початкове положення - в першому список всіх типів Інфоблоки, у другому - список всіх Інфоблоки даного сайту, а після вибору потрібного типу Інфоблоки параметри компонента перевантажуються і ми бачимо тільки Інфоблоки потрібного типу.

    Зовні для параметрів типу LIST цей ключ проявляється як кнопка з написом ОК біля параметра (див. Скріншоти вище).

    Якщо потрібно, щоб якийсь параметр з'являвся чи ні в залежності від іншого, робиться це так. Нехай нам необхідно показати список властивостей Інфоблоки. Припустимо, що ID Інфоблоки міститься в параметрі компонента IBLOCK_ID. а параметр, де буде список властивостей назвемо PROP_LIST. У параметра IBLOCK_ID повинен бути виставлений ключ REFRESH = 'Y'. код:

    Існують особливі параметри, які стандартизовані і які немає необхідності описувати повністю. Досить вказати, що вони є. наприклад,

    Перший із зазначених параметрів вказує, чи слід компоненту встановити заголовок сторінки, а другий - всі налаштування, пов'язані з кешуванням.

    Тільки комплексні компоненти можуть працювати в режимі ЧПУ або перевизначати змінні, які приходять з HTTP запиту. В цьому випадку необхідно серед параметрів вказати ще два особливих параметра:

    • "VARIABLE_ALIASES" - масив, що описує змінні, які компонент може отримувати з HTTP запиту. Кожен елемент масиву має вигляд:
    • "SEF_MODE" - масив, що описує шаблони шляхів в режимі ЧПУ. Кожен елемент масиву має вигляд:

    Починаючи з 12 версії продукту (нове ядро ​​D7) з'явилася можливість додавання в параметри компонента елемента управління, що дозволяє вказувати колір (COLORPICKER).

    Для цього необхідно вказати наступне в файлі параметрів компонента .parameters.php:

    Важливо. Найбільш правильний варіант кастомізації компонента - скопіювати його в окремий простір імен і працювати вже з копією компонента. При цьому потрібно враховувати наслідки:
    • Збільшується загальна кількість компонентів, відповідно зростає і кількість виділених на їх підтримку ресурсів.
    • Складність в освоєнні нових розробником: спочатку йому потрібно буде знайти в чому відмінність від вже існуючого стандартного компонента.

    Схожі статті