Формы в строках Views

Решал вчера одну насущную задачу, в ходе которой потребовалось добавить форму в каждую строку табличного представления Views. В принципе, это можно запрограммировать - вставить форму каким-нибудь хуком, изменяющим Views, или в шаблон темизации заранее заготовленного поля. Плюс не забыть использовать hook_forms(), чтобы Друпал мог одну форму от другой при сабмите отличить. Но потом пришло в голову, что задача-то довольно общая, наверняка есть наработки уже.

Так и оказалось, тут же по запросу Views+Form на drupalmodules.com обнаружился модуль Views Embed Form, в котором все это уже запрограммировано. Причем, пользователю модуля практически ничего не нужно делать - только реализовать в своем модуле hook_views_embed_form(), возвращающий ID нужной формы с текстовым описанием, чтоб ее можно было найти в интерфейсе Views. И все - можно вставлять форму в строки Views, причем, что самое приятное, все считанные из БД поля данной строки будут переданы конструктору формы одним аргументом (объектом $fields), так что форма их может сразу использовать.

Отличная находка, я считаю. Немедленно взял на вооружение.

Комментарии