2016-04-13 13 views
0

Ich bin sehr neu Drupal, In einem Block möchte ich ein Formular mit Auswahlfeld und Absenden-Taste haben. Jede Option in der Verknüpfung ist eine Verknüpfung der Inhaltsseite. Dies ist der Fall, wenn der Benutzer eine Option auswählt und auf die Senden-Schaltfläche klickt, die auf die andere Knoten-Seite umgeleitet wird.Drupal 8 Form und Ansicht in Block

Für die oben genannte Anforderung verwendet Client Web Form für Drupal 7 und ich möchte die Anforderung für Drupal 8 klonen. Ich habe versucht EForm und ich kann ein Formular erstellen, aber ich kann nicht das Formular im Block Layout anzeigen und Ansicht.

Ich bin nicht sicher, ob das Modul Eform für meine Anforderung geeignet ist. Können Sie mir bitte helfen, welche Module muss ich für die oben genannte Anforderung in Drupal 8 installieren.

+0

ich es nicht bekommen. Kannst du mit einem Beispiel erklären, wofür du es brauchst? Für mich klingt es unnötig kompliziert, ein Formular zu benutzen, um einfach auf eine andere Seite zu verlinken. –

+0

Meine Anforderung ist sehr einfach, es gibt ein Formular mit einem Auswahlfeld und einer Schaltfläche. Das Auswahlfeld enthält Werte als Verknüpfung der Inhaltsseite, und der Benutzer wählt eine Option aus und klickt auf die Schaltfläche, um eine Seite zu laden. Zum Beispiel habe ich in einem Länder-Dropdown eine Liste mit Optionen wie Asien, Australien, Europa usw. Wenn der Benutzer ein Land auswählt, lädt es die entsprechende Länderseite. Die Optionswerte müssen im Admin-Steuerfeld verwaltet werden (Land hinzufügen oder Land bearbeiten). Jede Länderseite in der Auswahlbox ist eine einfache Inhaltsseite. – Senthil

Antwort

0

Okay, ich weiß nicht, ob es irgendwelche Module gibt, die genau das tun, was Sie wollen, aber Sie kann Ihre eigene benutzerdefinierte Lösung erstellen. In meinen Augen gibt es im Wesentlichen zwei Möglichkeiten:

  • einen benutzerdefinierten Blocktyp mit einem HTML-Body-Feld erstellen, setzen Sie Ihre HTML drin und du bist fertig. Vorteil: leicht zu machen, Nachteil:

  • saubere Art und Weise fest einprogrammiert: Erstellen Sie einen neuen Knotentyp und/oder eine neue Kategorie, die Sie für Ihr Land Knoten verwenden. Dann erstellen Sie programmgesteuert einen Block und fragen nach allen Knoten dieses bestimmten Landtyps oder nach Knoten mit der "Landseite" -Kategorie, was auch immer Sie zum Organisieren dieser Knoten verwenden. Dann erstellen Sie einfach ein Formular aus diesen Daten und rendern es. Vorteil: dynamisch, die Auswahlliste aktualisiert sich selbst, wenn Sie neue Knoten dieses Typs/dieser Kategorie hinzufügen oder löschen. Nachteil: mehr Aufwand nimmt zunächst

Ich persönlich würde empfehlen Option 2. Option 1 ist besser für wirklich einfach und „dumm“ Anforderungen wie an mehreren Stellen auf Ihrer Website etwas fest codierten Text/Bild zeigt, oder wenn es etwas temporäres ist wie ein Kampagnen-Teaser, der in einer Woche vorbei ist und du ihn danach wegwirfst.

EDIT:

Entity Abfrage: https://api.drupal.org/api/drupal/core!lib!Drupal.php/function/Drupal%3A%3AentityQuery/8

Wie Formulare in Drupal baut 8: https://www.drupal.org/node/2117411

+0

Ok. Vielen Dank. Es wird hilfreicher sein, wenn Sie ein Tutorial zum Erstellen von Formularen und Abfragen in Drupal 8 empfehlen. :) – Senthil

+0

Ich habe zwei Links hinzugefügt, die Ihnen helfen sollten. Die erste zeigt Ihnen, wie man nach Entitäten fragt (zB Knoten), und die zweite, wie man Formulare in Drupal 8 erstellt. Probieren Sie es aus, Sie sollten in der Lage sein, es zu erstellen :) –

+0

Schönes Tutorial, auf Formular senden möchte ich Leite die Seite auf eine Knotenseite des Inhaltstyps um, versuchte ich $ form_state-> setRedirectUrl ('node/1'); aber es funktioniert nicht.Ich habe keine Route-Konfiguration für die Knoten-Seite URL, so dass ich nicht sicher bin, wie die Seite auf Knoten-Seite mit dem Formular-Modul umleiten. Bitte hilf mir. – Senthil