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 - 07: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 (9461)
am 12.09.2012 - 08: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 - 08: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 - 08: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 (1559)
am 12.09.2012 - 09: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 - 09: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 - 09: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 - 09: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

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Tag 21 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Tagen 13 Stunden
  • melde mich mal wieder, da ich
    vor 7 Wochen 6 Tagen
  • Hey danke
    vor 8 Wochen 11 Stunden
  • Update: jetzt gibt's ein
    vor 8 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 3 Tagen
  • In der entsprechenden View
    vor 9 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

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