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

Submit Funktion ausführen

Eingetragen von AndyLicht (260)
am 10.07.2014 - 18:50 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo Forum,
mit Hilfe eines Modules möchte ich (damit ich das alles besser verstehe) einen Node erzeugen (ich weiß das kann ich auch über die Adminoberfläche, aber mir fällt kein besseres lernen ein).
Dafür habe ich ein Modul erzeugt, welches ich über einen Link öffnen kann, anschließend sehe ich ein Formular. Dieses besitzt einen Submit-Button. Mir ist jetzt schleierhaft wie ich die Submitfunktion richtig ausführe? Vielleicht kann von euch jemand den entscheidenden Hinweis geben. besten Dank Andy (p.s. die <---> kommen vom kopieren)

<?php

function openweather_menu() {
 
$items = array();
 
$items['openweather'] = array( //this creates a URL that will call this form at "examples/form-example"
   
'title' => 'Erzeuge Wetterstation', //page title
   
'description' => 'Erzeugt eine Wetterstation',
   
'page callback' => 'drupal_get_form', //this is the function that will be called when the page is accessed.  for a form, use drupal_get_form
   
'page arguments' => array('createWeatherstation_form'), //put the name of the form here
   
'access callback' => TRUE
 
);
  return
$items;
}
function
createWeatherstation_form($form, &$form_state) {
   
$form['name'] = array(
<------>
'#type' => 'textfield', //you can find a list of available types in the form api
<------>'#title' => 'Wetterstation Name',
<------>
'#size' => 10,
<------>
'#maxlength' => 10,
<------>
'#required' => TRUE, //make this field required
   
);
   
$form['id'] = array(
<------>
'#type' => 'textfield', //you can find a list of available types in the form api
<------>'#title' => 'Wetterstation ID',
<------>
'#size' => 10,
<------>
'#maxlength' => 10,
<------>
'#required' => TRUE, //make this field required
   
);
   
$form['description'] = array(
<------>
'#type' => 'textarea', //you can find a list of available types in the form api
<------>'#title' => 'Wetterstation Beschreibung',
<------>
'#required' => TRUE, //make this field required
   
);
   
$form['submit_button'] = array(
<------>
'#type' => 'submit',
<------>
'#value' => t('erzeuge Wetterstation'),
    );
    return
$form;
}
function
openweather_form_submit($form, &$form_state) {
   
var_dump($form);
}

?>

‹ COntenttype anlegen [gelöst] NID der letzten Saveaktion? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

2 Wege. Der einfachste: nenne

Eingetragen von tobi-berlin (857)
am 10.07.2014 - 18:53 Uhr

2 Wege.

Der einfachste: nenne Deine Submit-Funktion

function createWeatherstation_form_submit ($form, &$form_state)

Nach der schaut Drupal automatisch.

Ansonsten musst Du in createWeatherstation_form() folgendes Array benennen:

$form['#submit'] = array('openweather_form_submit');

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, besten Dank. Ich habe

Eingetragen von AndyLicht (260)
am 10.07.2014 - 19:06 Uhr

Hi,
besten Dank. Ich habe mich für den ersten Weg entschieden. Wenn ich jetzt auf den Submit-Button klicke, wird das Formular lediglich leer angezeigt und kein var_dump() ist zu sehen.
mit bestem Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzt Du das Devel-Modul?

Eingetragen von tobi-berlin (857)
am 10.07.2014 - 23:56 Uhr

Benutzt Du das Devel-Modul? Wenn nein, würde ich dringend dazu raten.... Du kannst dann die Variable mit dpm($form) ausgeben lassen - ich meine mich zu erinnern, dass var_dump() irgendwie nicht funktioniert hat.

Versuche mal var_dump($form_state) oder drupal_set_message('Hallo'); im Submit-Handler, vielleicht passiert hier ja etwas.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich empfehle dir

Eingetragen von th3o2211 (87)
am 14.07.2014 - 15:13 Uhr

Also ich empfehle dir Netbeans / Phpstorm zu nehmen und dort xdebug zu installieren. Damit kannst du in php breakpoins setzten und dementsprechend die objecte besser auslesen. Des Weiteren solltest du dich auf $form-state['input'] konzentrieren. Dort sind deine Abgeschickten Post daten drin.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Besser ist

Eingetragen von tobi-berlin (857)
am 14.07.2014 - 17:39 Uhr

Besser ist $form_state['values'] zu nehmen statt $form_state['input'] , wenn man mit den Werten arbeiten möchte,die in das Formular eingegeben wurden. Im Array "values" sind die validierten Werte enthalten - die nicht validierten Eingaben im Array "input" sollten nur verwendet werden, wenn man genau weiß, was man tut, und man die Sicherheitsaspekte dabei überschauen überblickt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

I'm Prinzip richtig jedoch

Eingetragen von th3o2211 (87)
am 14.07.2014 - 17:52 Uhr

I'm Prinzip richtig jedoch gibt es einen Bug der in values nur die Inhalte im default values anzeigt!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • anyone has a working Betaflight mirror right now?
    vor 1 Tag 4 Stunden
  • Vielen Dank für Ihren
    vor 1 Tag 9 Stunden
  • Composer ist sehr ratsam
    vor 3 Tagen 8 Stunden
  • Vielen Dank für den
    vor 5 Tagen 18 Stunden
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Tagen 6 Stunden
  • Gut gemacht
    vor 6 Tagen 6 Stunden
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Tagen 7 Stunden
  • Links
    vor 1 Woche 1 Tag
  • Moin,wow, sehr gutes
    vor 1 Woche 2 Tagen
  • Dass ist eine spannende
    vor 1 Woche 3 Tagen

Statistik

Beiträge im Forum: 250314
Registrierte User: 20559

Neue User:

  • Cruzorerm
  • Plandkeews
  • Tepkugem

» Alle User anzeigen

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