Мне интересно, есть ли какое-либо решение для хранения веб-форм в коде. Так что вы можете легко скопировать их на другие сайты и связать их с вашими собственными модулями. Я смотрю на что-то похожее на API представлений.
Если это не доступно, сколько людей заинтересованы в такой функциональности? Я мог бы разработать модуль, который мог бы обрабатывать хранение веб-форм в коде. И есть ли у вас какие-либо опасения по поводу создания такого модуля?
Спасибо яап
webform_share_export()
иwebform_share_node_insert()
есть денежные функции). Не могу сказать, что я одобряю использованиеeval()
, но вы могли бы так же легко преобразовать это, чтобы использовать вместо этого объект JSON / сериализованную строку. Единственная (небольшая) трудность, которую вам нужно преодолеть, заключается в том, как / когда ваша веб-форма применяется к новому узлу, причем, конечно же, требуется узел, чтобы присоединить веб-форму.Ответы:
Не совсем, и в этом нет необходимости
Если вам нужна форма, доступная из кода, формы API форм не так сложно написать с нуля. В отличие от представлений, вы можете использовать только те веб-формы, которые имеют идентификатор узла, и это будет меняться от сайта к сайту, поэтому формы веб-форм, связанные с модулем, не будут удобными.
Если вы хотите связать формы с вашими модулями и по какой-либо причине вы не можете использовать API форм, интеграция функций UUID и общий доступ к веб-формам предоставляют способы сделать это. Это не будет кодекс в чистом смысле, но он должен работать.
Это относительно легко использовать
hook_form_alter
для получения представления API формы конкретной веб-формы. Конечно, вы не сможете изменить это легко в будущем, но опять же, вопреки взглядам, это хорошо. Модуль не повредит, если некоторые данные не отображаются. Данные, не предоставленные или предоставленные таким образом, которого модуль не ожидает, могут привести к поломке. Поэтому, если модулю нужна форма, его не должно быть легко редактировать . В любом случае редактирование формы потребует внесения изменений в код модуля, поэтому код API формы упрощает, а не усложняет в долгосрочной перспективе, в таких ситуациях.источник
webform
объект (или массив?) В любом случае находится на объекте узла, он может быть легко сериализован и повторно применен