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

Selectbox in drupal schreiben

Eingetragen von th3o2211 (87)
am 12.09.2012 - 08:45 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo Drupalfreunde,

danke erstmal, dass ihr euch diesen Beitrag anschaut :-) . Ich schreibe momentan zur übung ein kleines Modul und bin auch soweit mit dem gröbsten fertig. Das Problem was ich jetzt habe
ist, dass ich eine datums selectbox machen möchte.

Ich habe es so versucht:

<?php

   
function user_interface_output() {
   
   
$output  = '<html>';
   
$output .= '<body>';
   
$output .= '<form action="#" method="post">';
   
$output .= 'Datum:';
   
$output .= '<select name="tag" style="border: thin solid #777777">
        <option>*</option>'
;
        for (
$i = 1; $i <= 9; $i++) {
            if(@
$_POST['tag'] == "0".$i){ $selected = "selected='yes'"; } else { $selected="";}
           
$output .= "<option $selected>0$i</option>";
           
$output .= "<option>0".$i."</option>";
        }
        for (
$i = 10; $i <= 31; $i++) {
            if(@
$_POST['tag'] == $i){ $selected = "selected='yes'"; } else { $selected="";}
           
$output .= "<option $selected>$i</option>";
        }
        return
$output;
   
    }

    function
user_interface_user() {

   
$input =user_interface_output();
    echo
$input;

?>

Die checkbox mit den einzelnen Tagen kommt auch zum vorschein doch leider "zerreißt" er mir die Seite, sie wird weiß und das template wird nicht mehr richtig angezeigt.

Gibt es vllt eine andere Möglichkeit wie ich dieses Problem löse?
Vielen dank für eure Antwort :-)

‹ In einem Hook im eigenen Modul, wie kann ich ein array verändern? Proximity: Location: Startpunkt von GeoField aus Profil. ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Du solltest die Forms-API von

Eingetragen von wla (9466)
am 12.09.2012 - 09:47 Uhr

Du solltest die Forms-API von Drupal benutzen um Formulare im Modul zu erstellen. Sieh Dir dazu mal diese Seite an.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

zwei Dinge fallen mir bei

Eingetragen von torfnase (1525)
am 12.09.2012 - 09:49 Uhr

zwei Dinge fallen mir bei deinem Code auf:

Warum diese zwei Zeilen:

  $output  = '<html>';
    $output .= '<body>';

und der Form-Tag wird nicht geschlossen.

Gruß
Berthold

  • Anmelden oder Registrieren um Kommentare zu schreiben

Um das von torfnase mal zu

Eingetragen von Exterior (2903)
am 12.09.2012 - 09:56 Uhr

Um das von torfnase mal zu ergänzen:

Den HTML-Körper übernimmt Drupal, du musst nur den HTML-Code rein klimpern, den du ausgeben willst.

Und am Ende darfst du nicht "echo $output;" machen, sondern musst "return $output;" verwenden, dann kümmert sich Drupal um den restlichen HTML-Kram.

Und wie Werner sagte: Form API verwenden, das macht das alles wesentlich einfacher.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du solltest dich erstmal

Eingetragen von Sense (1560)
am 12.09.2012 - 10:23 Uhr

Du solltest dich erstmal generell mit Drupal und der Funktionsweise beschäftigen, um verstehen zu können wie Drupal Formulare bereit stellt (Form API). Hierzu solltest Du Dir am Besten ein Buch zulegen und dich erstmal in die Entwicklung von Modulen einlesen. Dann bekommst Du einen entscheidenden Überlick bzgl. der Funktionsweisen.

Buchtips findest Du auch hier: http://www.drupalcenter.de/handbuch/buecherecke

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super danke!

Eingetragen von th3o2211 (87)
am 12.09.2012 - 10:28 Uhr

Super danke! Ich benutzte jetzt die date form von drupal. Hatte nicht gewusst, dass es sowas gibt!! Najach lesen bildet ungemein ;-) .

Jetzt habe ich aber noch eine Frage: Wenn ich nun ein Datum angebe und auf absenden drücke sollen natürlich immer unterschiedliche Ergebnise angezeigt werden (diese werden aus der Datenbank abgefragt), diese ergebnisse sollen aber auf der gleichen Seite angezeigt werden. Funktioniert dies auch über $_POST[] ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du könntest das Formular per

Eingetragen von Exterior (2903)
am 12.09.2012 - 10:42 Uhr

Du könntest das Formular per rebuild neu laden und in der Form-Funktion die Daten aus dem formstate nehmen.
Aber dafür solltest du dich erstmal gründlich in die Form API einlesen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

uff

Eingetragen von th3o2211 (87)
am 12.09.2012 - 10:58 Uhr

Gut ich hab ja eine submit funktion wo cih die werte verarbeiteten kann. Wie würde ich, wenn ich das dort machen die daten auslesen? wie werden die werte übergeben?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • 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
Weiter

Neue Kommentare

  • Gefunden
    vor 7 Wochen 3 Stunden
  • Vielen Dank für die ausführlichen Hinweise...
    vor 7 Wochen 4 Tagen
  • Mögliche Ursachen und nächste Schritte
    vor 7 Wochen 4 Tagen
  • Was für einen Server benutzt
    vor 10 Wochen 5 Stunden
  • Wenn die Subdomain auf
    vor 10 Wochen 2 Tagen
  • ordnerstruktur
    vor 10 Wochen 2 Tagen
  • Die Subdomain muß auf den
    vor 10 Wochen 4 Tagen
  • Verwende doch das Tag dafür,
    vor 13 Wochen 6 Tagen
  • Guckst du hier: step by step
    vor 13 Wochen 6 Tagen
  • Guckst du hier: step by step
    vor 13 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250294
Registrierte User: 20542

Neue User:

  • Kupit_hiPi
  • Thomasbxh
  • Kupit_qsPi

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