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

Formular als Modul

Eingetragen von Rookie79 (10)
am 16.05.2009 - 11:57 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo,
wie kann ich ein HTML Formular als Modul für Drupal zur Verfügung stellen?
Danke

‹ Formularfelder an externe URL übergeben Message über eigenes Formular an mailbox schicken ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Bitte formuliere Deine Frage

Eingetragen von quiptime (4972)
am 16.05.2009 - 12:03 Uhr

Bitte formuliere Deine Frage ausfuehrlicher.

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

Auf einer Website befindet

Eingetragen von Rookie79 (10)
am 16.05.2009 - 12:46 Uhr

Auf einer Website befindet sich ein Formular, welches nach Eingabe von Daten eine Ergebnisseite zur Verfügung stellt, genauer gesagt ein Preisrechner. Diesen Preisrechner möchte ich nun als Drupal Modul anderen Website Administratoren zur Verfügung stellen. Eigentlich handelt es sich nur um ein kleines statisches HTML Formular, welches per HTTP GET die eingegebenen Daten an eine URL übergeben soll.
Ich habe mich schon etwas mit Block Modulen in Drupal beschäftigt, weiß aber nicht ob das der richtige Weg ist. Es soll später auch möglich sein, im Admin Bereich eine Partner ID zu hinterlegen, welche dann immer mitgesendet wird. Mir fehlt etwas der Anfang und ob ich mit dem Block Modul schon auf dem richtigen Weg war. Auch wie ich das HTML Formular in das Modul einbaue und schließlich auch angezeigt bekomme erschließt sich mir noch nicht.

Danke

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also das Formular sollen

Eingetragen von Tobias Bähr (4019)
am 16.05.2009 - 15:38 Uhr

Also das Formular sollen andere Website-Inhaber (egal ob die website auf drupal, joomla etc. läuft) in ihre Website einbinden können?

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Spartacus schrieb Also das

Eingetragen von Rookie79 (10)
am 16.05.2009 - 16:30 Uhr
Spartacus schrieb

Also das Formular sollen andere Website-Inhaber (egal ob die website auf drupal, joomla etc. läuft) in ihre Website einbinden können?

Nein! Nur für Drupal.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was für Preisrechner ist

Eingetragen von Tobias Bähr (4019)
am 16.05.2009 - 16:38 Uhr

Was für Preisrechner ist das? Gibt es diesen Preisrechner auch noch nicht? hier ist die Api http://api.drupal.org/. In der Mitte findest du spezielle Themen. Entwickler-Handbuch hier http://drupal.org/contributors-guide.

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).

  • Anmelden oder Registrieren um Kommentare zu schreiben

tach, ich habe vor kurzem

Eingetragen von stebeg (463)
am 22.05.2009 - 12:59 Uhr

tach,

ich habe vor kurzem ein Modul geschrieben, was dir eventuell weiterhilft.
Bei meinem Modul handelt es sich um ein Such-Formular für Belege von Patienten. In diesem Formular kann man in einer Select-Box die Anrede auswählen und in Textfeldern Vorname, Nachname, Geburtsdatum, Adresse usw eingeben. Der Inhalt dieser Felder wird dann über drücken des Submit-Buttons in Session-Variablen gespeichert, die in jeder Funktion des Moduls benutzt werden können. Diese Methode müsste eigentlich auch für deine Zwecke geeignet sein.

Hier der Code:

<?php
/*
********************************************************************************
* Form-Elemente
********************************************************************************
*/
function suchePat_forms()
{
 
//Fieldset
   
$form['suchForm'] = array(
   
'#title'        => t('Belege nach Patient'),
   
'#type'         => 'fieldset',
   
'#collapsible'  => TRUE,
   
'#collapsed'    => FALSE,
    );
 
//Inhalt der Select-Liste
 
$form['anrede options'] = array(
   
'#type'         => 'value',
   
'#value'        => array('', 'Herr', 'Herrn', 'Frau'),
    );
   
//Select Liste für die Anrede
 
$form['suchForm']['anrede select form'] = array(
   
'#title'        => t('Anrede'),
   
'#type'         => 'select',
   
'#options'      => $form['anrede options']['#value'],
    );
 
//Textfeld für den Vornamen
 
$form['suchForm']['vorname'] = array(
   
'#title'        => t('Vorname'),
   
'#type'         => 'textfield',
   
'#default_value'=> $_SESSION['Vorname'],
    );
 
//Textfeld für den Nachnamen
 
$form['suchForm']['nachname'] = array(
   
'#title'        => t('Nachname'),
   
'#type'         => 'textfield',
   
'#default_value'=> $_SESSION['Nachname'],
    );
 
//Textfeld für den Geburtstag
 
$form['suchForm']['geburtstag'] = array(
   
'#title'        => t('Geburtstag'),
   
'#type'         => 'textfield',
   
'#default_value'=> $_SESSION['Geburt'],
    );
 
//Textfeld für die Straße
 
$form['suchForm']['strasse'] = array(
   
'#title'        => t('Strasse'),
   
'#type'         => 'textfield',
   
'#default_value'=> $_SESSION['Strasse'],
    );
 
//Textfeld für die Postleitzahl
 
$form['suchForm']['plz'] = array(
   
'#title'        => t('Postleitzahl'),
   
'#type'         => 'textfield',
   
'#default_value'=> $_SESSION['PLZ'],
    );
 
//Textfeld für den Ort
 
$form['suchForm']['ort'] = array(
   
'#title'        => t('Ort'),
   
'#type'         => 'textfield',
   
'#default_value'=> $_SESSION['Ort'],
    );
 
//Submit-Button
 
$form['suchForm']['submit form'] = array(
   
'#title'        => t('Go'),
   
'#type'         => 'submit',
   
'#value'        => 'Suchen',
    );
  return
$form;
}
/*
********************************************************************************
* Inhalt der Form-Elemente abschicken
********************************************************************************
*/
function suchePat_forms_submit($form, &$form_state)
{
 
$anrede_option = $form_state['clicked_button']['#post']['anrede_select_form'];
 
$anrede = $form_state['values']['anrede options'][$anrede_option];
 
//Inhalt der Select-Box speichern
 
 
$form_values = $form_state['values'];
 
//Inhalte der Textfelder speichern
 
 
$_SESSION['Vorname']    = $form_values['vorname'];    //Inhalt des Vornamen-Feldes speichern
 
$_SESSION['Nachname']   = $form_values['nachname'];   //Inhalt des Nachnamen-Feldes speichern
 
$_SESSION['Geburt']     = $form_values['geburtstag']; //Inhalt des geburtstag-Feldes speichern
 
$_SESSION['Strasse']    = $form_values['strasse'];    //Inhalt des Strassen-Feldes speichern
 
$_SESSION['PLZ']        = $form_values['plz'];        //Inhalt des PLZ-Feldes speichern
 
$_SESSION['Ort']        = $form_values['ort'];        //Inhalt des Ort_Feldes speichern
 
 
$_SESSION['Anrede']   = $anrede;    //Session-Variable für die Anrede
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

ach was ich noch vergessen

Eingetragen von stebeg (463)
am 22.05.2009 - 13:20 Uhr

ach was ich noch vergessen habe, die Form-Elemente müssen natürlich noch in den Seite- bzw Blockinhalt eingebaut werden. Das macht man wie folgt:

<?php
  
//Formelemente einbinden
 
$page_content = $page_content.drupal_get_form('suchePat_forms');
?>

bzw wenn man ein Block-Modul schreibt mit

<?php
  
//Formelemente einbinden
 
$block_content = $block_content.drupal_get_form('suchePat_forms');
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank. Das hat mir

Eingetragen von Rookie79 (10)
am 28.05.2009 - 18:55 Uhr

Vielen Dank. Das hat mir schon sehr geholfen.

Ich möchte im Konfigurationbereich des Blocks ein Textfeld und eine Select-Liste abspeichern können.

<?php
    
case 'configure':
     
$form['partner_id'] = array(
       
'#type' => 'textfield',
       
'#title' => 'Partner ID',
       
'#default_value' => variable_get('partner_id', 0),
       
'#element_validate' => array('pid_validate'),
       
'#size' => 6,
       
'#maxlength' => 6,
      );
     
//Inhalt der Select-Liste Laendercode
     
$form['laendercode options'] = array(
       
'#type'         => 'value',
       
'#value'        => array('DE', 'AT'),
        );
       
//Select Liste für den Laendercode
     
$form['laendercode select form'] = array(
       
'#title'        => t('Country'),
       
'#type'         => 'select',
       
'#options'      => $form['laendercode options']['#value'],
        );     
      return
$form;
   
    case
'save':
     
variable_set('partner_id', $edit['partner_id']);
      break;
?>

Das Textfeld ist kein Problem, aber wie speicher ich die Select-Liste?

Danke

  • Anmelden oder Registrieren um Kommentare zu schreiben

So

Eingetragen von stebeg (463)
am 02.06.2009 - 06:53 Uhr

<?php
$select_options
= $form_state['clicked_button']['#post']['laendercode_select_form'];
$laendercode = $form_state['values']['laendercode options'][$select_options];

$_SESSION['laendercode'] = $laendercode;
?>

So müsste es eigentlich gehen. Das, was in der Select-Liste ausgewählt wurde müsste dann in der Session-Variable $_SESSION['laendercode'] zu finden sein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hinweis

Eingetragen von stBorchert (6003)
am 02.06.2009 - 08:39 Uhr

Moin.
Mal noch ein gut gemeinter Hinweis an Rookie und stebeg: lest euch bitte mal ein paar Tutorials bezüglich des Drupal Forms API durch. Angefangen mit diesem hier.

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Mal noch ein gut

Eingetragen von stebeg (463)
am 02.06.2009 - 10:30 Uhr
Zitat:

Mal noch ein gut gemeinter Hinweis an Rookie und stebeg: lest euch bitte mal ein paar Tutorials bezüglich des Drupal Forms API durch. Angefangen mit diesem hier.

Hmmm ist das versteckte Kritik an meinem Code? :-)

Falls ja, ich bin immer offen für konstruktive Kritik, aber bitte auf die "lies ma lieber nochmal nach"-Art.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • wmtbpo361x
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 6 Tagen 26 Minuten
  • Inzwischen sind wir bei
    vor 2 Wochen 2 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 3 Tagen
  • melde mich mal wieder, da ich
    vor 10 Wochen 13 Stunden
  • Hey danke
    vor 10 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 10 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 3 Tagen
  • In der entsprechenden View
    vor 11 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250239
Registrierte User: 20467

Neue User:

  • LorisBen
  • StevenEness
  • ocvk2810

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