Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
Прежде чем говорить об изменении внешнего вида форм, ознакомимся с основами Drupal Forms API — программного интерфейса, используемого для генерации форм. Применение Forms API несколько сложнее создания HTML-форм вручную, так как требует изучения логики его работы, однако его использование обязательно, поскольку Forms API решает ряд важных задач:
- любой разработчик может добавить или удалить элементы в форме, созданной другим разработчиком, не меняя ее исходного кода;
- любой разработчик может добавить дополнительные функции проверки и обработки введенных пользователем данных без изменения исходной формы;
- формы, созданные с использованием Forms API, защищены от атак, связанных с отправкой пользователем модифицированной формы;
- любой разработчик может изменить внешний вид формы, не изменяя ее исходного кода.
Каждая форма в Drupal представляет собой функцию, возвращающую ассоциативный массив. Этот массив должен содержать информацию обо всех элементах формы, функциях проверки (валидаторы, validators) и обработки (сабмиттеры, submitters) введенных данных. Данная функция должна быть расположена в файле модуля, о разработке модуля говорилось в предыдущей статье.