Form API - частина 4

З попередніх уроків з Form API, ми з вами навчилися створювати найпростіші форми з функціями валідації та обробки, а також навчилися ці форми обробляти через Ajax, але, як ви могли помітити, всі наші елементи форми складалися виключно з текстових полів, сьогодні ж ми розглянемо основні типи елементів форми, такі як:

З назви типів ви можете відразу здогадатися, для чого призначений той чи інший тип, але ми будемо йти по порядку.

Цей тип поля використовується для створення простого текстового поля у формі,

В результаті ми отримаємо input з типом text

form
Checkbox (checkboxes)

Цей тип використовується для створення чекбоксів (чекбоксів)

Після чого отримаємо чекбокс у формі

форми

Для створення кількох чекбоксів немає необхідності описувати кожен з них, достатньо змінити тип елемента форми на «checkboxes», і в «options» передати значення чекбоксів

Після чого отримаємо список із 5 чекбоксів:

Drupal
Radio (radios)

Використовується для створення радіокнопок (radiobutton) у формі

В результаті отримаємо одну радіокнопку

Drupal

Для створення кількох радіокнопок ситуація така сама, як і з чекбоксами – змінюємо формат на «radios» і в «options» передаємо значення радіокнопок

У результаті ми побачимо список із п'яти радіокнопок

поля
Select

Як ви здогадалися, цей тип використовується для створення селектів у формі, він не має як чекбокс або радіокнопка, одиночного значення, параметри одразу передаються в «options»

Результат – селект із п'яти option:

form
Textarea

Використовується для створення багаторядкового текстового поля

Використовується для створення файлового поля,завантаження будь-яких файлів та передачі їх на сервер

В результаті отримаємо поле для завантаження файлу:

Drupal

Хочу зауважити, що це поле не так часто використовується у формах Drupal, замість нього зазвичай використовують тип елемента форми – «managed_file»

Являє собою альтернативу для поля з типом «file», тому що повністю забирає на себе завантаження файлу через Ajax і занесенням до таблиці «managed_file»

Drupal
Password

Цей тип використовується для створення поля, для введення пароля

Використовується для створення дати у формі, даний тип визначає 3 селекти

де, як значення за промовчанням передається поточна дата

Після чого на сторінці побачимо 3 селекти для вибору дати:

форми
Fieldset

Використовує як обгортку - fieldset, для елементів полів форми

В результаті отримаємо елементи форми, які загорнуті в поля

форми

Як ви могли помітити, цей тип приймає ще два додаткові параметри, хоч вони й не обов'язкові, але про них варто згадати:

  • collapsible – визначає, чи буде fieldset мати можливість приховування/розкриття
  • collapsed - визначає, положення fieldset за умовчанням, тобто. після завантаження сторінки, прихований/розкритий
Tableselect

Даний тип виводить у таблиці будь-які дані, з можливістю відзначити значення цієї таблиці

В результаті отримаємо таблицю з двома значеннями, з можливістю відзначити будь-яке значення через чекбокс:

поля
Text_format

Цей тип поля може використовуватися як заміна полю з типом «textarea», тому що надає текстові фільтри для цього поля:

поля
Vertical_tabs

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

  • Визначаємо цей тип (vertical_tabs) для елемента форми
  • Створюємо елемент форми з типом fieldset і передаємо його через «group» елемент форми з типом «vertical_tabs»
  • Додаємо поля в fieldset

Насправді це виглядає так:

Ну а на сторінці ви побачите таке:

Drupal
Weight

Цей тип поля використовується визначення «ваги», тобто. має значення від -10 до 10

В результаті буде таке:

поля
Submit

Цей тип визначає кнопку форми:

частина

Схожі статті

Drupal 8 – Створення ajax посилання

Drupal 8 – Список команд в Ajax API (Jquery команди)

Темизація кнопки «видалити» на сторінці кошика в Ubercart 3.

Імпорт із CSV у сутність Drupal. Модуль Feeds

Form API – частина 4. Основні типи елементів полів форми

Принцип роботи динамічного сайту

Створення власного шаблону для Drupal 7 на прикладі. Темізація ноди. Частина 4

Відео у модальному вікні. Drupal 7+Fancybox.

Критерії сортування. Drupal 7 + переглядів

Drupal 8 – Створення кастомної команди Ajax

Список значень "info" файлу

Коментарі (3)

Вітаю. Дякую за урок. Справді потрібна інформація. Але ось ви пишете, що це основні типи елементів полів, значить є ще якісь. Мені цікаво, чи є поля для введення саме числових значень. Ну типу для введення суми, наприклад, або це тільки через валідацію треба робити. І ще питання навздогін, як приробити до поля щось на кшталт "суфікса" (точніше те що в модулі webform називають суфіксом). Тобто що було б якто так: йде label, потім сам input, потім дописка типу тис.руб або р.н. або ще щось. Якщо просто написати "#suffix" => 'значення' воно виводиться в самому кінці, після description . А як зробити одразу після поля, є варіант? Наперед вдячний.

числового поля немає, як такого, воно з'явилося тільки в HTML 5. але по суті його можна створити з текстового поля. Для додавання суфікса після або до input, використовуйте властивості поля

Добрий час доби.

Не підкажіть, чи є тип поля дататайм. І як можна зробити її авто запалення за поточною датою та часом?