Ich frage mich, ob es eine Lösung gibt, um Webformulare im Code zu speichern. Damit Sie sie problemlos auf anderen Websites duplizieren und mit Ihren eigenen Modulen bündeln können. Ich untersuche etwas Ähnliches wie die Views-API.
Wenn es nicht verfügbar ist, wie viele Personen interessieren sich für solche Funktionen? Ich könnte ein Modul entwickeln, das das Speichern von Webformularen in Code handhaben könnte. Und haben Sie Bedenken bei der Erstellung eines solchen Moduls?
Danke, Jaap
webform_share_export()
undwebform_share_node_insert()
sind die Geldfunktionen). Ich kann nicht sagen, dass ich der Verwendung von zustimmeeval()
, aber Sie können dies genauso einfach konvertieren, um stattdessen ein JSON-Objekt / eine serialisierte Zeichenfolge zu verwenden. Die einzige (kleine) Schwierigkeit, die Sie überwinden müssen, besteht darin, wie / wann Ihr Webformular auf einen neuen Knoten angewendet wird, wobei natürlich ein Knoten erforderlich ist, um das Webformular anzuhängen.Antworten:
Nicht wirklich, und es besteht keine Notwendigkeit dafür
Wenn Sie ein Formular benötigen, das aus Code verfügbar ist, sind Formular-API- Formulare nicht so schwer von Grund auf neu zu schreiben. Im Gegensatz zu Ansichten können Sie Webforms nur anhand ihrer Knoten-ID thematisieren. Dies würde sich von Site zu Site ändern, sodass mit dem Modul gebündelte Webform-Formulare nicht bequem sind.
Wenn Sie Formulare mit Ihren Modulen bündeln möchten und aus irgendeinem Grund die Formular-API nicht verwenden können, bieten UUID-Funktionsintegration und Webform-Freigabe Möglichkeiten dazu. Es wird kein Code im reinen Sinne sein, aber es sollte funktionieren.
Es ist relativ einfach zu verwenden
hook_form_alter
, um eine Formular-API-Darstellung eines bestimmten Webformulars zu erhalten. Natürlich werden Sie es in Zukunft nicht einfach ändern können, aber entgegen den Ansichten ist es wieder gut. Das Modul wird nicht verletzt, wenn einige Daten nicht angezeigt werden. Daten, die nicht oder auf eine Weise bereitgestellt werden, die das Modul nicht erwartet, können zu Problemen führen. Also wenn das Modul ein Formular benötigt, sollte es nicht leicht zu bearbeiten sein . Änderungen am Formular würden ohnehin Änderungen am Modulcode erfordern, sodass der Formular-API-Code in solchen Situationen die Dinge einfacher und auf lange Sicht nicht schwieriger macht.quelle
webform
Objekt (oder Array?) Ohnehin auf dem Knotenobjekt befindet, kann es sehr einfach serialisiert und erneut angewendet werden