Formular als Modul
am 16.05.2009 - 11:57 Uhr in
Hallo,
wie kann ich ein HTML Formular als Modul für Drupal zur Verfügung stellen?
Danke
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo,
wie kann ich ein HTML Formular als Modul für Drupal zur Verfügung stellen?
Danke
Beiträge im Forum: 250240
Registrierte User: 20468
Neue User:
| wla | 9461 |
| stBorchert | 6003 |
| quiptime | 4972 |
| Tobias Bähr | 4019 |
| bv | 3924 |
| ronald | 3857 |
| md | 3717 |
| Thoor | 3678 |
| Alexander Langer | 3416 |
| Exterior | 2903 |
Bitte formuliere Deine Frage
am 16.05.2009 - 12:03 Uhr
Bitte formuliere Deine Frage ausfuehrlicher.
------------------------
Quiptime Group
Auf einer Website befindet
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
Also das Formular sollen
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).
Spartacus schrieb Also das
am 16.05.2009 - 16:30 Uhr
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.
Was für Preisrechner ist
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).
tach, ich habe vor kurzem
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
}
?>
ach was ich noch vergessen
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');
?>
Vielen Dank. Das hat mir
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
So
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.
Hinweis
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
Zitat: Mal noch ein gut
am 02.06.2009 - 10:30 Uhr
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.