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 - 17: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 - 17: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 - 18: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 - 22: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 - 14: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 - 16: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 - 16: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

  • 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 1 Woche 6 Tagen
  • Hey danke
    vor 2 Wochen 15 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 15 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

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 32 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