KB form

Aus Kitbooth Wiki: Deutsch

Wechseln zu:Navigation, Suche

Inhaltsverzeichnis

Funktionalität

Zurück zu: Klassen

Die Klasse KB_form unterstützt den Webdesigner und Entwickler beim Erstellen und Auswerten von Formularen. Zusätzliche Funktionen wie ein E-Mail-Versand oder eine Registrierung werden bei der Auswertung der übersendeten Daten unterstützt.

Verwendung

KB_form wird für jedes Formular einmal instanziert. Die Core-Funktionalität stellt dafür die Funktion $kbc->form_o() im globalen Kontext zur Verfügung.

$form = $kbc->form_o();

Formulardefinition

Jedes Formular-Element wird einzeln definiert. Dazu wird die Methode new_element" aufgerufen und der Name des Elements übergeben.

Beispiel

$form->new_element("Name");

Settings

Settings ist ein ein- oder mehrdimensionales Array, welches die Verhaltensweise der Klasse KB_form steuert oder weitere Parameter für die nachfolgende Verarbeitung übergibt.

Beispielhaftes Array:

$settings = array('error' => 'err_mess', 'autocheck' => 'send', 'register'=>true, 'mail' => $core['form_email'], 'subject' => 'Registrierung' );

Die Array Elemente setzen folgende Parameter:

error -> die CSS Klasse der Fehlermeldungen wird auf err_mess gesetzt autocheck -> sobald send im $_POST Array vorhanden ist, wird die automatische Eingabeprüfung gestartet register -> gibt der KB_form zu verstehen, dass eine Registrierung vorgesehen ist. Es wird dann automatisch nicht nur die Eingabe validiert sondern auch die E-Mail-Adresse als primäres Attribut mit der Usertabelle abgeglichen. mail -> Ersetzung der Standard - E-Mail - Adresse bei Mail - Versand subject -> Ersetzung des Standardbetreffs bei Mail - Versand

... much more will follow ...


Instanzierung und Übergabe der Parameter

Da der include bereits in der Core-Funktionalität vorgenommen wurde, steht die Klasse sofort zur Verfügung. Ebenso stellt diese eine einfach Instanzierungsvariante zur Verfügung. Mit dem Aufruf (KB_core::form_o())

$form = $kbc->form_o($formular, $settings [,$values]); 

wird eine neue Instanz der Klasse Formular zurück geliefert. $formular und $settings werden dabei zwingend voraus gesetzt, $values ist eine optionale Übergabe.

Formularausgabe

generate_all()

Die einfachste Möglichkeit der Ausgabe ist die Funktion $form->generate_all() (KB_form::generate_all). Diese erzeugt das komplette Formular mit allen HTML Tags. Die optionalen Parameter separator, class und action sollten zuvor Eintrag in den Settings übergeben werden. Dieser wird jeweils einmal nach Ausgabe des Label, des Formular-Elements sowie des eventuellen Fehlermeldung angewand.

$formular = ( array('input', 1, 'Name','name', ,'Bitte geben Sie Ihren Namen an.', ,) );
$settings = array('separator' => '<br>');
$form = $kbc->form_o($formular, $settings);
$form->generate_all();

gen_all_tpl()

Die Funktion $form->gen_all_tpl() (KB_form::gen_all_tpl) entspricht weitgehend der Funktion $form->generate_all(); erzeugt das Formular aber mit einem übergebenen Template. Der Template-String muss zuvor in den Settings übergeben werden, ebenso die optionalen Parameter template_pre, template_post, class und action Dieser String kann dabei beliebiges HTML enthalten, setzt aber für eine erfolgreiche Ausgabe die dre Platzhalter <#1#> (=Fehlermeldung) <#2#> (=Label) <#3#> (=Formular-Element) voraus.

$formular = ( array('input', 1, 'Name','name', , 'Bitte geben Sie Ihren Namen an.', ' ',' ') );
$settings = array('template' => '<tr> <td><#2#></td> <td><#3#></td> <td><#1#></td> </tr>');
$form = $kbc->form_o($formular, $settings);
$form->gen_all_tpl();

Beispiele

Navigation
Werkzeuge