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 - 14: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 - 12: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 (9464)
am 15.08.2010 - 14: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 - 20: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 (9464)
am 16.08.2010 - 00: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 16.08.2010 - 00: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

  • Drupal CMS installieren
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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.
Weiter

Neue Kommentare

  • Ich habe ja keine Angst vor
    vor 15 Stunden 16 Minuten
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 2 Tagen 21 Stunden
  • Vielen Dank erst einmal, aber
    vor 4 Tagen 14 Stunden
  • Du hast die "Trusted host
    vor 4 Tagen 23 Stunden
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 2 Wochen 3 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 3 Wochen 9 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 7 Wochen 2 Tagen
  • Textboxen mit Tabelle
    vor 7 Wochen 2 Tagen
  • Du sollst ja auch keine
    vor 7 Wochen 2 Tagen
  • Theme
    vor 7 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250281
Registrierte User: 20494

Neue User:

  • Robertolix
  • DavidBit
  • JeraldZeF

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 21 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