2016-06-10 17 views
0

Ich arbeite an einem benutzerdefinierten Sitefinity-Modul, in dem ich ein benutzerdefiniertes Feld hinzufügen muss, in dem ich ein Sitefinity-Formular aus einer Liste der vorhandenen definierten Formulare im Backend auswählen kann. Was ist der beste Ansatz dafür? Genau wie soll ich mich bei der Definition des Feldes und der Erstellung seiner UI nähern?So verweisen Sie auf ein Sitefinity-Formular in einem benutzerdefinierten Feld

Leider, wenn ich "Related Data" als Feldtyp auswählen, ist Sitefinity Form in der Liste der integrierten Datentypen nicht verfügbar. Die andere Option (erweiterte Option), die ich sehe, ist ein Feldtyp GUID (oder Array von GUIDs) unter Feldtypen, die vorschlagen, einen benutzerdefinierten Code zu machen.

CMS-Version ist Sitefinity 8.2 und wir verwenden MVC-basierte Federkomponenten sowie unsere benutzerdefinierten MVC-Komponenten, um die Website zu entwickeln.

Jeder hatte ähnliche Anforderungen und Erfahrungen auf diesem?

Antwort

1

Ich würde wahrscheinlich eine custom field control erstellen. Dies kann durch die Verwendung von Sitefinity Thunder rationalisiert werden (weil es eine Menge Standard-C# und JavaScript benötigt). Sobald dies vorhanden ist, können Sie ein benutzerdefiniertes Feld vom Typ "Kurztext" oder "GUID" erstellen, und für die Schnittstelle verwenden Sie Ihr benutzerdefiniertes Feld.

In Ihrem benutzerdefinierten Feld können Sie beispielsweise eine Dropdownliste erstellen, wobei der Text für jede Option der Name des Formulars ist und der Wert entweder das Feld "Name für Entwickler" oder die ID des Formulars ist . Auf diese Weise ist die Eingabe immer auf IDs beschränkt, die auf Sitefinity-Formulare verweisen. Wenn Sie später mit Ihren benutzerdefinierten Inhaltselementen interagieren, können Sie diese ID/diesen Namen zum Suchen des referenzierten Formulars verwenden.

Als Nebenbei zu verwandten Daten: In der Tat, das bezieht sich entweder nur auf integrierte Inhaltstypen (Blogs, Nachrichten, etc.) oder benutzerdefinierte Build-dynamische Inhaltstypen. Du wirst dort keine Dinge wie Formulare finden.