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

  • Лучшие лайфхаки по нахождению выгодных авиарейсов
  • 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.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
Weiter

Neue Kommentare

  • Git und rsync sind die wichtigsten Werkzeuge
    vor 1 Tag 6 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 4 Wochen 3 Tagen
  • Textboxen mit Tabelle
    vor 4 Wochen 3 Tagen
  • Du sollst ja auch keine
    vor 4 Wochen 3 Tagen
  • Theme
    vor 4 Wochen 3 Tagen
  • Welches Theme benutzt du
    vor 4 Wochen 3 Tagen
  • Mit Responsive Raster hatte
    vor 4 Wochen 4 Tagen
  • Hallo Alex,um das Häkchen
    vor 4 Wochen 4 Tagen
  • Modul view_unpublished
    vor 4 Wochen 6 Tagen
  • Modul "override node options"
    vor 4 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250274
Registrierte User: 20486

Neue User:

  • Robertolix
  • DavidBit
  • JeraldZeF

» Alle User anzeigen

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