Prty::Html::Form::Layout - HTML-Formular mit freiem Layout
Prty::Hash
Die Klasse dient der Erzeugung von HTML-Formularen mit freiem Layout. D.h. der HTML-Code "um die Widgets herum" wird von der Klasse nicht vorgegeben, sondern als Objektattribut gesetzt, ebenso wie die Liste der Widgets. Die Klasse setzt die Widgets in das Layout ein.
Für jedes Widget enthält das Layout einen Platzhalter, der sich aus dem Namen des Widget herleitet, indem der Widget-Name in Großbuchstaben gewandelt und um zwei Unterstriche vorne und hinten ergänzt wird.
Beispiel:
Widget-Name Platzhalter ----------- ----------- vorname __VORNAME__
Eigenschaften des form-Tag. Ist das Attribut nicht gesetzt, wird kein form-Tag erzeugt.
form
Der HTML-Code des Layouts. In das Layout wird der HTML-Code der Widgets eingesetzt.
Liste der Widgets, die in das Layout eingesetzt werden.
Der Code
Prty::Html::Form::Layout->html($h, layout=>Prty::Html::Table::Simple->html($h, class=>'form', rows=>[ [['Vorname:'],['__VORNAME__']], [['Nachname:'],['__NACHNAME__']], [[''],['__AKTION__']], ], ), widgets=>[ Prty::Html::Widget::TextField->new( name=>'vorname', value=>'Linus', ), Prty::Html::Widget::TextField->new( name=>'nachname', value=>'Seitz', ), Prty::Html::Widget::Button->new( id=>'speichern', name=>'aktion', value=>'speichern', content=>'Speichern', ), ], );
erzeugt
<table class="form" cellspacing="0"> <tbody> <tr> <td>Vorname:</td> <td><input type="text" name="vorname" value="Linus" /></td> </tr> <tr> <td>Nachname:</td> <td><input type="text" name="nachname" value="Seitz" /></td> </tr> <tr> <td></td> <td><button id="speichern" name="aktion" type="button" value="speichern">Speichern</button></td> </tr> </tbody> </table>
$e = $class->new(@attVal);
Instanziiere ein Formular-Objekt und liefere eine Referenz auf dieses Objekt zurück.
$html = $e->html($h); $html = $class->html($h,@attVal);
Generiere den HTML-Code des Formular-Objekts und liefere diesen zurück. Als Klassenmethode gerufen, wird das Objekt intern erzeugt und mit den Attributen @attVal instanziiert.
Frank Seitz, http://fseitz.de/
To install Prty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prty
CPAN shell
perl -MCPAN -e shell install Prty
For more information on module installation, please visit the detailed CPAN module installation guide.