Formulare für WebCRM-Aktivitäten generieren

Die hier beschriebenen Features sind bis Version 6.9.1 ein optionaler Bestandteil des Rails Connectors. Wenn Sie diese Features mit einem aktuellen Rails Connector weiter nutzen möchten, finden Sie den betreffenden Quelltext in einem Git-Respository.

Wenn der Rails Connector an das WebCRM angebunden ist, d.h. der CRM Connector installiert und eingeschaltet ist, können Sie in Ihrer Rails-Anwendung Formulare auf der Basis von Aktivitäten im WebCRM erzeugen. Schickt ein Website-Besucher ein solches Formular ab, sorgt der Rails Connector dafür, dass im WebCRM eine Aktivität angelegt wird. So können beispielsweise Formulare für Kundenanfragen, Anmeldungen zu Veranstaltungen und andere Vorgänge automatisch und wartungsfrei erzeugt werden. Diese Vorgänge werden im WebCRM als Aktivitäten angelegt und können dort bequem bearbeitet oder auch für den Versand von Mailings genutzt werden.

Um Seiten mit solchen generierten Formularen im Redaktionssystem anzulegen, benötigen Sie lediglich eine Vorlage namens CrmForm und eine auf dieser Vorlage basierende CMS-Datei. Durch den für diese Vorlage mitgelieferten View erzeugt Ihre Rails-Anwendung dann ein Formular für den Aktivitätstyp contact form, wenn die CMS-Datei ausgeliefert wird.

Technische Details und Erweiterungsmöglichkeiten

Die Rails-Anwendung liefert die auf der Vorlage CrmForm basierende CMS-Datei mit Hilfe des mitgelieferten Controllers CrmFormController aus. In dem dazu gehörenden View sorgt der Helper CrmFormHelper dafür, dass die Formularelemente erzeugt werden.

Der CrmFormController ist vom DefaultCrmFormController abgeleitet. Dieser verfügt über Methoden, die in den abgeleiteten Klassen überschrieben werden können, um die Voreinstellungen des zu erzeugenden Formulars zu ändern – beispielsweise den zu verwendenden Aktivitätstyp (activity_kind).

Über den Aktivitätstyp – voreingestellt contact form – ermittelt der CrmFormHelper die zu erzeugenden Formularfelder sowie den Typ der Aktivität, die im WebCRM angelegt werden soll, wenn das Formular abgeschickt wird. Der Helper generiert Formularfelder für alle zusätzlichen Felder des Aktivitätstyps sowie optional für den künftigen Titel der anzulegenden Aktivität. Mit Hilfe eines Callbacks (allow_custom_attribute?) kann bei Zusatzfeldern die Ausgabe eines Formularelements unterdrückt werden.

Um unterschiedlich gestaltete Seiten mit generierten Formularen im CMS anzulegen, können Sie individuelle Vorlagen als Alternativen oder ergänzend zu CrmForm erstellen. Wenn Sie beispielsweise ein Formular für die Anmeldung an einer Veranstaltung ausgeben möchten und hierfür die Vorlage CrmEventForm angelegt haben, so brauchen Sie in Ihrer Rails-Anwendung lediglich die Klasse CrmEventFormController zu definieren und von RailsConnector::DefaultCrmFormController abzuleiten. Um das Verhalten von CrmEventFormController anzupassen, können Sie die Methoden dieser Klasse überschreiben. Wie neue Controller angelegt und erweitert werden können, ist in den Abschnitten Vorlagen-spezifische Controller und Den Rails Connector anpassen beschrieben.

In dem gegebenenfalls anzulegenden View, der zu dem neuen, abgeleiteten Controller gehört, können Sie nun die Seite gestalten und darin das Formular unter Zuhilfenahme von CrmFormHelper erstellen.

Weitere Informationen über die Formularerzeugung finden Sie in der mitgelieferten RDoc-Dokumentation zur Klasse DefaultCrmFormController.