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

Form API direkter Zugriff auf Results

Eingetragen von Julsen (178)
am 28.04.2014 - 19:57 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Guten Abend,

bin aktuell wieder dabei mich mit der Form API in Druapl auseinander zu setzen. Wollte ein Modul zum Rechnen und Auswerten erstellen. Bisher habe ich immer auf die API verzichtet und alles direkt geschrieben, weils teilweise einfacher und schneller für mich war. Mittels Form API habe ich auch diverse Formulare umgesetzt, wo eine einfache Nachricht als Bestätigung ausreichend war. Allerdings benötige ich nun mehrere Ausgabe in meinem Formular, wie Texte, Formlen, Auswertungen, Diagramme etc.

Gibt es hier auch eine Möglichkeit, direkt auf Variablen und Objekte innerhalb des Formular Templates zuzugreifen, ohne das man form rebuilt nutzt und das fertige Markup ins Formular schreibt oder multi step Formulare nutzt? Gibt zwar auch einen recht aktuellen Beitrag, der auch teilweise in die selbe Richtung geht, aber irgendwie doch nicht ganz, daher ein neuer Beitrag. Hoffe dies ist ok.

Viele Grüße
Julsen

‹ [Gelöst] SESSION wird nicht korrekt aus DB gelesen hook_field_validate | nur zahlen gültig [gelöst] ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn ic Dich richtig

Eingetragen von maen (547)
am 01.05.2014 - 13:59 Uhr

Wenn ic Dich richtig verstehe, möchtest Du auf Eingaben greifen und darstellen, die in eine Form einegegeb wurden aber noch nicht abgespeichert sind?

Denke mal das ist ein klassischer JS Fall?

Du haust in dein Modul ein javascript und kannst dann so ziemlich alles damit machen, noch bevor abgespeichert wird, inkl. Verarbeitung und Ausgabe weiterer Rechenschritte. Nutze ich oft um den Server nicht zu belasten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Würde gerne die Berechnungen

Eingetragen von Julsen (178)
am 08.05.2014 - 12:29 Uhr

Würde gerne die Berechnungen mit PHP durchführen und dann erst ausgeben. Server hat eigentlich genug Leistung und läuft aktuell nur auf Sparflamme. Bei Javascript liegen ja die Berechnungen offen. Daten sollen auch nicht abgespeichert werden und nur temporär genutzt werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Validation handler siehe

Eingetragen von maen (547)
am 08.05.2014 - 12:58 Uhr

Validation handler siehe hier:
https://drupal.org/node/717742

  • Anmelden oder Registrieren um Kommentare zu schreiben

das schreit nach AJAX und einem Service

Eingetragen von ronald (3857)
am 08.05.2014 - 13:24 Uhr

Dafür musst du schon etwas "Stricken".

Eine AJAX-Objekt kann natürlich einen Service (getrieben von PHP) rufen, und das Ergebnis anzeigen.

Dann liegen die Berechnungsmodelle im PHP-Service-Modul und können direkt im Formular angezeigt werden.

Drupal liefert dann nur das Grobgerüst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die

Eingetragen von Julsen (178)
am 08.05.2014 - 17:56 Uhr

Danke für die Rückmeldungen!

maen schrieb

Validation handler siehe hier:
https://drupal.org/node/717742

Den Validation Handler nutze ich ja bereits, aber glaube nicht, dass ich so per Form Template auf meine eigenen Variablen zugreifen kann oder? Das Formular wird beim klick auf berechnen als self abgeschickt. Rechnungen werden durchgeführt und in Variablen und Arrays gepackt. Ausgabe funktioniert über drupal_set_message auch, nur würde ich gerne die Ergebnisse mit dem Form Theme / Template des Moduls gestalten und ausgeben.

ronald schrieb

Dafür musst du schon etwas "Stricken".

Eine AJAX-Objekt kann natürlich einen Service (getrieben von PHP) rufen, und das Ergebnis anzeigen.

Dann liegen die Berechnungsmodelle im PHP-Service-Modul und können direkt im Formular angezeigt werden.

Drupal liefert dann nur das Grobgerüst.

Würde ich dann so mit den Form Templates arbeiten können?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn über drupal_set_message

Eingetragen von maen (547)
am 21.05.2014 - 21:29 Uhr

Wenn über drupal_set_message das gewünschte Ergebnis zu sehen ist, Du sowieso ein eigenes Modul baust, also die Berechnungen und damit einhergehend die richtigen Variablen schon abgegriffen und verarbeitet sind, verstehe ich die Frage nicht.
Eine Ausgabe erfolgt im drupal way über render arrays, oder Du setzt die results in das nachfolgende Formular.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich habe MODUL.module,

Eingetragen von Julsen (178)
am 22.05.2014 - 17:32 Uhr

Also ich habe

MODUL.module, wo ich mittels Form Api mein Formular erstelle und auch wo meine Rechnungen drin ablaufen.
Dann habe ich die Template Datei "MODUL-themer.tpl.php" des Moduls, wo ich die Struktur des Formulars und der Ausgabe festgelegt habe. Jetzt möchte ich aber innerhalb dieser Datei auch die Ausgabe der Rechnungen erledigen. Einfach so auf die meine Variablen und Arrays kann ich leider nicht zugreifen. Gibt es hier eine einfache Möglichkeit oder muss ich irgendwie über das Variable Modul gehen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

jetzt wid es interessant,

Eingetragen von maen (547)
am 22.05.2014 - 17:51 Uhr

jetzt wid es interessant, weil ich intelektuell nicht mehr mitkomme.Du hast ein tpl für die Struktur, in der dann sowas steht wir von mir aus

<?php
print $result;
?>

Dann hast Du ein Modul, das dein Formular enthält, nach absenden der Submit von page 1 die post Daten abgreift, dann eine berechnung macht, und diese in eine Variable speichert.
die Du dann als Ergebnis bspw. in einem hidden field der page 2 mitgeben könntest.

Natürlich kannst Du sie auch in eine session variable speichern, oder Du legst eine DB Tabelle für dein Modul an. Dort speicherst Du das dann. Oder du haust in den Variablenspeicher von drupal.

Warum, wenn Du sie schon als variable vorliegen haben musst, kannst Du nicht darauf zugreifen? Wie gibst Du eine variable mit drupal_set_message denn aus wenn Du nicht drauf zugreifen kannst?

Irgendwie habe ich den Eindruck wir reden aneinander vorbei!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also die TPL Datei ist die

Eingetragen von Julsen (178)
am 22.05.2014 - 18:34 Uhr

Also die TPL Datei ist die von dem Modul.

drupal_set_message kann man ja auch direkt in der Funktion nach dem Rechnen aufrufen, von daher kein Problem.

Das Formular gebe ich per template_preprocess Funktion und als Array an den Themer weiter. Hier kann ich glaube ich auch meine Ergebnisse mit übergeben. Aber leider keine Ahnung wie. Also aktuell scheiterts bei mir daran, dass ich die Ergebnisse nicht dem Template zur Verfügung stellen kann.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kannst Du mal deine Funktion

Eingetragen von maen (547)
am 22.05.2014 - 19:47 Uhr

Kannst Du mal deine Funktion posten? Also das Modul inkl. template. Du kannst ja die Berechnungen rauslassen. Will nur wissen was Du zur Verfügung hast.

Meine Meinung ist, dass Du wenn die Ergebnisse vorliegen, Du diese mittels render array ausgeben könntest.

Mach doch mal Pseudocode. Im Moment hânge ich etwas bei Deiner Darstellung. Ist mir so zu abstrakt. Kann aber auch an mir liegen, dass ich einfach nicht verstehe wo dein Problem liegt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 1 Tag
  • Hey danke
    vor 2 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 14 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 17 Stunden
  • Kannst doch auch alles direkt
    vor 3 Wochen 4 Tagen
  • In der entsprechenden View
    vor 3 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 4 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 37 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