Drupal - Новый модуль для построения форм
Если кто не знает, есть такой очень нужный для друпалеров сайт Lullabot.com. На сайте куча всего полезного и интересного, есть также видео уроки, и масса другой разнообразной информации. 3 декабря Lullabot объявил о будущем релизе нового модуля, разработанного для Друпала – модуль Form Builder для создания форм.
Модуль использует AJAX и интерфейс Drag and Drop, специально для шестого Друпала – с его помощью Вы можете легко строить свои собственные формы. Есть предположение, что модуль легко заменит собой построение форм с помощью таких модулей, как CCK, Webform, Profile и так далее. То есть, можно сказать – настоящая маленькая революция!
Модуль работает с Form API . Но Вы всё делаете с помощью простейшего интерфейса в настройках модуля. Например, Вы изменяете заголовок или описание поля, а модуль работает с FAPI Друпала. Вы можете также посмотреть превью того, что у Вас получилось без необходимости сохранять форму.
Внедрение Form Builder.
Form Builder используется только для того, чтобы создавать формы. То есть вы не сможете использовать формы, построенные с помощью этого модуля до тех пор, пока какой-нибудь другой модуль не использует хуки, предоставленные Form Builder’ом для того, чтобы сохранить требуемые изменения.
Например, возьмём форму создания обычной ноды. В Друпале есть несколько модулей, которые модифицируют эту форму:
- Taxonomy. Этот модуль добавляет возможность выбора терминов из словаря при создании ноды.
- Menu. Предоставляет настройки для размещения ноды в меню.
- CCK. Добавляет к ноде различные поля.
Итак, Form Builder создаёт форму и предоставляет её другим модулям для изменения (или же заполнения). Каждый модуль, который будет работать с формой, говорит что-то вроде этого: «Эй, ребята, внимание, я буду работать с такими-то полями в этой форме», например, только с первым и третьим полем. Каждый элемент (поле) формы, который требуется конкретному модулю, будет предоставлен модулю для изменения. То есть Form Builder говорит как бы следующее: «Пожалуйста, дорогой модуль, бери и работай с первым и третьим полем, но остальные мои поля трогать ты не сможешь, не позволю, дорогой товарищ».
А после того, как изменение соответствующего поля сохранено, новый сформированный массив FAPI возвращается к каждому модулю, которому это требуется. Каждый модуль просматривает массив, и соответствующим образом меняет свои собственные настройки, чтобы внедрённые изменения были сохранены. Понятно, что пока что обо всём этом можно говорить только на пальцах, поконкретнее можно будет поговорить только когда будет более менее стабильный релиз.
Модуль пока совсем новый, и на данный момент его нельзя применять для работающих сайтов. Его API совсем свежее, незадокументировано и может быть изменено. Модуль пока содержит множество багов и тестирование продолжается.
Пока всё, что можно сделать – это попробовать демо, вот по этому адресу http://quicksketch.org/demos/form-builder-example. Разработка продолжается, будет создана система контекстной помощи для разработчиков, и также многое ещё предстоит сделать для совмещения работы этого модуля с другими.
Ну что ж, будем следить за новостями. Этот модуль – одна из тех фич, за которыми стоит будущее Друпала. Возможно, это даже будет один из модулей ядра для Drupal 7.x, кто знает.
Оригинал статьи на английском здесь.
Ёж.


