Je me demande s'il existe une solution pour stocker des formulaires Web dans du code. Pour que vous puissiez facilement les dupliquer sur d'autres sites et les regrouper avec vos propres modules. Je cherche quelque chose de similaire en tant qu'API de vues.
S'il n'est pas disponible, combien de personnes sont intéressées par une telle fonctionnalité? Je pourrais développer un module qui pourrait gérer le stockage de formulaires Web dans Code. Et avez-vous des inquiétudes concernant la création d'un tel module?
Merci, Jaap
webform_share_export()
etwebform_share_node_insert()
sont les fonctions monétaires). Je ne peux pas dire que j'approuve l'utilisation deeval()
, mais vous pouvez tout aussi facilement le convertir pour utiliser un objet JSON / une chaîne sérialisée à la place. La seule (petite) difficulté que vous devez surmonter est de savoir comment / quand votre formulaire Web est appliqué à un nouveau nœud, un nœud étant bien sûr nécessaire pour attacher le formulaire Web.Réponses:
Pas vraiment, et ce n'est pas nécessaire
Si vous avez besoin d'un formulaire disponible à partir du code, les formulaires API de formulaire ne sont pas si difficiles à écrire à partir de zéro. Contrairement aux vues, vous ne pouvez thématiser les formulaires Web que sur leur ID de nœud, et cela changerait de site en site, les formulaires Web fournis avec le module ne seront donc pas pratiques.
Si vous souhaitez regrouper des formulaires avec vos modules, et pour une raison quelconque, vous ne pouvez pas utiliser l'API Form, l' intégration des fonctionnalités UUID et le partage Webform fournissent des moyens de le faire. Ce ne sera pas un code au sens propre, mais cela devrait fonctionner.
Il est relativement facile à utiliser
hook_form_alter
pour obtenir une représentation API de formulaire d'un formulaire Web particulier. Bien sûr, vous ne pourrez pas le changer facilement à l'avenir, mais encore une fois, contrairement aux vues, c'est bien. Le module n'est pas blessé si certaines données ne sont pas affichées. Les données non fournies, ou fournies d'une manière que le module ne prévoit pas, peuvent casser les choses. Donc, si le module a besoin d'un formulaire, il ne devrait pas être facile de le modifier . Les modifications apportées au formulaire nécessiteraient de toute façon des modifications du code du module, de sorte que le code API du formulaire facilite les choses, pas plus difficiles à long terme, dans de telles situations.la source
webform
objet (ou le tableau?) Se trouve de toute façon sur l'objet nœud, il peut être sérialisé et ré-appliqué très facilement