Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Neue Seite aus Formular-Daten erstellen

Eingetragen von Exterior (2903)
am 12.08.2010 - 13:41 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Ich stehe gerade vor einem Problem und irgendwie fällt mir keine ganz passende Lösung ein :(

Ich möchte dem Benutzer ein Formular geben, dort kann er dann verschiedene Dinge auswählen, eingeben etc.

Wenn er dann auf den Submit-Button klickt, sollen die eingegebenen Daten in der Submit-Funktion verarbeitet werden und anschließend soll der User eine neue Seite bekommen, deren Inhalt ich in der Submit-Funktion auf Basis der eingegebenen Daten erstellt habe, optimal wäre es, wenn diese neue Seite unter einem bestimmten Pfad angezeigt würde.

Also, Beispiel:

Der User bekommt ein Formular, dort kann er z.B. verschiedene Personen anwählen und Text eingeben.

Nun soll er auf den Submit-Button klicken und dann erscheint eine neue Seite (wenn möglich unter dem Pfad "example.com/meinpfad"), auf der angezeigt wird:

"Hallo Benutzer,

Du hast die folgenden Personen gewählt: <-- Benutzernamen -->

Außerdem hast du folgendes eingegeben: <-- Eingabe -->"

Das Beispiel ist natürlich unsinnig, ich weiß, mir geht's nur darum, wie ich in der Submit-Funktion die Daten auswerten kann und dann auf einer neuen Seite den von mir erstellten Seiten-Inhalt auf Basis der eingegebenen Daten ausgeben kann (also nicht mehr das ursprüngliche Formular oder so, sondern eben nur diesen erstellten Inhalt).

Ich könnte zwar über '#redirect' oder drupal_goto() zu einem gewünschten Pfad weiterleiten (z.B. einen Pfad, den ich in hook_menu eingetragen habe), aber ich habe keine Ahnung, wie ich dort dann an die Daten des Formulars kommen soll :(

Meine Idee war jetzt, in der Submit-Funktion die Daten auszuwerten und mit einem eindeutigen Index in einer Temp-Tabelle zu speichern.
Dann mittels '#redirect' oder drupal_goto() einen Pfad aufrufen (den ich in hook_menu eingetragen habe) und dort als page argument den Index der eingetragenen Daten übergeben. Dann kann ich in der page-callback-funktion den Index auslesen und mir damit die nötigen Daten aus der Temp-Tabelle holen.

Aber gibt es nicht auch evtl. einen eleganteren Weg? Stehe ich vielleicht gerade nur total auf'm Schlauch?

‹ drupal-Session schreiben / benutzen [gelöst] Modul patchen. Was heißen die kryptischen Zeichen? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hat echt niemand eine Idee,

Eingetragen von Exterior (2903)
am 15.08.2010 - 11:58 Uhr

Hat echt niemand eine Idee, wie man das machen könnte?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das geht am einfachsten über

Eingetragen von wla (9461)
am 15.08.2010 - 13:16 Uhr

Das geht am einfachsten über ein Multistep-Formular. Nach dem Submit der ersten Seite baust Du das Formulat neu auf. Das kann auch mehrfach durchlaufen werden und wenn alle Infos, die Du möchtest, da sind, machst Du ein node_save für Deinen Node.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das bringt mich leider nicht

Eingetragen von Exterior (2903)
am 15.08.2010 - 19:31 Uhr

Das bringt mich leider nicht wirklich weiter.

Ich habe ja alle Informationen, die ich benötige, auf dem einen Formular. Also, mal ganz konkret ein Anwendungsfall:

Ich möchte, dass bestimmte Rollen Datenblätter zu den Benutzern der Website angezeigen lassen können.

Daher möchte ich ein Formular machen, dort kann der Anwender dann auswählen, welche Infos auf dem Datenblatt ausgegeben werden, dann wählt er noch aus, für welche Benutzer dieses Datenblatt ausgegeben werden soll und sendet das Formular ab.

In der Submit-Funktion möchte ich aus diesen Informationen nun die Datenblätter zusammenstellen und diese sollen dann alle als Seiteninhalt angezeigt werden. Also kein Formular mehr und nichts, einfach nur eine ganz normale Seite mit den zusammengestellten Datenblättern. Quasi als ob man einen Node anzeigen lässt, nur dass eben kein Node, sondern die Datenblätter angezeigt werden.

Da bringt mir ein Multistep-Formular leider nichts, zumindest kann ich nicht erkenne, wie ich das damit umsetzen könnte :(
Und node_save bringt mir da auch nichts, ich will die Datenblätter ja nicht speichern. Ich möchte sie lediglich ausgeben, damit man sie drucken kann.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit hook_menu einen Pfad

Eingetragen von wla (9461)
am 15.08.2010 - 23:00 Uhr

Mit hook_menu einen Pfad registrieren, an dem Du eine entsprechende Funktion hinterlegst, die den Seitenaufbau für Dein Datenblatt darstellt. In der Submit-Funktion mit drupal_goto auf diesen Pfad weiterleiten, dann hast Du Deine Anzeige. Falls Du Parameter brauchst, könnstest Du die in einer Sessionvariablen ablegen. Habe ich jetzt was übersehen?

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein, hast nichts übersehen

Eingetragen von Exterior (2903)
am 15.08.2010 - 23:17 Uhr

Nein, hast nichts übersehen ;-)

Sowas ähnliches hatte ich mir auch schon überlegt, allerdings mit Datenbank-Temp-Tabelle, nicht mit Sessionvariable (welche wahrscheinlich besser geeignet wäre).

Gut, dann schau ich mich jetzt mal nach Sessionvariablen um und dann teste ich das mal aus.

Vielen Dank =)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 22 Stunden 43 Minuten
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Tag 14 Stunden
  • melde mich mal wieder, da ich
    vor 7 Wochen 5 Tagen
  • Hey danke
    vor 7 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 8 Wochen 7 Stunden
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 2 Tagen
  • In der entsprechenden View
    vor 9 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 19 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association