
Formulare erstellt man in MODx Revolution (bekanntermaßen das beste CMS der Welt) mit einem neuen Snippet namens FormIt. FormIt ist der Revo-Nachfolger von eForms und ein gutes Stück weniger krampfig als eForms, hat es doch den Vorteil, Formulare und ihr Zubehör in wesentlich weniger großem Umfang über unzählige Chunks zu verteilen. Der größte Haken an FormIt ist meiner Meinung nach die noch etwas löchrige Dokumentation, die sich zum Beispiel darüber ausschweigt, wie man mehr als eine FormIt-Instanz auf einer Seite unterbringt, ohne dass sich diese in die Quere kommen.
Früher bei eForms behob man dieses Problem, indem man dem Snippet via Parameter jene Formular-ID mitteilte, um die das Snippet sich zu kümmern hatte. Ganz ähnlich geht es auch bei FormIt, nur auf etwas „formularigere“ Art und Weise: man teilt dem Snippet im Parameter submitVar
den Namen eines Formularfelds mit, das als Identifikator fungiert – wohl in aller Regel ein Input vom Typ hidden
, das speziell für diesen Zweck eingebaut wurde. Das könnte in Aktion dann so aussehen:
<form action="modx-revolution-mehrere-formit-instanzen-auf-einer-seite/" method="post">
<input type="hidden" name="meinformular" value="1">
...
</form>
Da in diesem Fall $_POST["meinformular"]
nur 1 ist, wenn auch wirklich das fragliche Formular abgesendet wurde, weiß die fragliche FormIt-Instanz wann sie in Aktion zu treten hat und wann sie Post-Daten ignorieren kann – denn die Formulare anderer FormIt-Instanzen übertragen eben keine meinformular
-Variable.
Die Existanz von submitVar
habe ich das über den Bugtracker des Projekts bei Github in Erfahrung bringen können – denn dokumentiert ist das Ganze wie gesagt nicht, Google liefert nichts Verwertbares und den Code von auch nur ein klein wenig komplexeren Revolution-Komponenten kann man ebenfalls nicht immer locker durchblicken. Schon doof dass es solche Doku-Löcher gibt, denn was nützt einem beste CMS der Welt, wenn man nicht auch mühelos nachlesen kann, wie es zum funktionieren zu bewegen ist?
Kommentare (1)
LuK ¶
21. August 2010, 13:56 Uhr
Da bin ich absolut deiner Meinung was die Doku anbelangt, habe mich in letzter Zeit auch etwas in Revo eingearbeitet (es laufen mittlerweile 2 Projekte damit =D)... ich habe unter Evo eForm extensiv genutzt (bis zu 10 Formulare auf derselben Seite, mit AJAX submitted & serverseitig validiert etc.) und drücke mich noch etwas davor, denselben "Krampf" mit FormIt wieder zu haben... schon unter eForm hat mich das mehrere Tage gekostet bis ichs per AJAX hingekriegt habe, so dass es Cross-Browser funktioniert und gut aussieht^^... und jetzt soll ich dasselbe nochmals machen mit FormIt... Hilfe =D... gut, ich muss zugeben, versucht hab ichs noch nicht, ev. lassen sich ja die Mechanismen von eForm irgendwie übertragen, aber ich bezweifle das ein bisschen... hast du ev. schon Erfahrungen/Experimente in Richtung Formit & AJAX gemacht?
Danke für deine Beiträge!