puschel85
01.06.2008, 20:53
Da ich dieses Forum bisher nur mitlesend genutzt habe, erstmal ein "Hallo" in die Runde.
Seit einiger Zeit beschäftige ich mit dem ZF - soweit so gut, ist ne Klasse Sache. Aber irgendwie stoße ich bei Zend_Form an meine Denk-Grenzen :)
Die Idee, Forms via INI "deklarieren" zu können, hat mir spontan zugesagt. Ich habe daher folgendes Formular definiert:
; editForm
editForm.action = "product/edit"
editForm.method = "post"
; Nummer
editForm.elements.nr.type = "text"
editForm.elements.nr.options.required = true
editForm.elements.nr.options.label = "Nummer"
; Name
editForm.elements.name.type = "text"
editForm.elements.name.options.required = true
editForm.elements.name.options.label = "Name"
; fieldset
editForm.displayGroups.all.elements.nr = "nr"
editForm.displayGroups.all.elements.name = "name"
editForm.displayGroups.all.options.legend = "Test-Legend"
Das Ding hol ich mir anschließend aus der Config und setzte es in der Action wie folgt ein:
public function test2Action() {
$config = Zend_Registry::get('product');
$form = new Zend_Form($config->editForm);
echo $form->render();
exit;
}
Das ZF macht mir daraus folgendes:
<form enctype="application/x-www-form-urlencoded" action="product/edit" method="post"><dl class="zend_form">
<dt> </dt><dd><fieldset id="all"><legend>asdfgqwert</legend>
<dl>
<dt><label for="nr" class="required">Nummer</label></dt>
<dd>
<input type="text" name="nr" id="nr" value=""></dd>
<dt><label for="name" class="required">Name</label></dt>
<dd>
<input type="text" name="name" id="name" value=""></dd></dl></fieldset></dd></dl></form>
Soweit, so gut, ... oder auch nicht.
Was ich mich frage ist, wieso ZF um das Fieldset nochmal <dl><dt><dd> baut. Trotz nun schon stundenlanger Experimente mit den Decorators und mehr als nur einmaligem Lesen des Manuals stehe ich voll auf dem Schlauch. Durch die Logik der Decorators steige ich nicht durch, und die Frage, "welchen setze ich wie wann ein - und warum?" konnte ich mir bisher auch noch nicht beantworten.
Hoffe, Ihr könnt mir auf die Sprünge helfen!
Gruß,
Puschel
Seit einiger Zeit beschäftige ich mit dem ZF - soweit so gut, ist ne Klasse Sache. Aber irgendwie stoße ich bei Zend_Form an meine Denk-Grenzen :)
Die Idee, Forms via INI "deklarieren" zu können, hat mir spontan zugesagt. Ich habe daher folgendes Formular definiert:
; editForm
editForm.action = "product/edit"
editForm.method = "post"
; Nummer
editForm.elements.nr.type = "text"
editForm.elements.nr.options.required = true
editForm.elements.nr.options.label = "Nummer"
; Name
editForm.elements.name.type = "text"
editForm.elements.name.options.required = true
editForm.elements.name.options.label = "Name"
; fieldset
editForm.displayGroups.all.elements.nr = "nr"
editForm.displayGroups.all.elements.name = "name"
editForm.displayGroups.all.options.legend = "Test-Legend"
Das Ding hol ich mir anschließend aus der Config und setzte es in der Action wie folgt ein:
public function test2Action() {
$config = Zend_Registry::get('product');
$form = new Zend_Form($config->editForm);
echo $form->render();
exit;
}
Das ZF macht mir daraus folgendes:
<form enctype="application/x-www-form-urlencoded" action="product/edit" method="post"><dl class="zend_form">
<dt> </dt><dd><fieldset id="all"><legend>asdfgqwert</legend>
<dl>
<dt><label for="nr" class="required">Nummer</label></dt>
<dd>
<input type="text" name="nr" id="nr" value=""></dd>
<dt><label for="name" class="required">Name</label></dt>
<dd>
<input type="text" name="name" id="name" value=""></dd></dl></fieldset></dd></dl></form>
Soweit, so gut, ... oder auch nicht.
Was ich mich frage ist, wieso ZF um das Fieldset nochmal <dl><dt><dd> baut. Trotz nun schon stundenlanger Experimente mit den Decorators und mehr als nur einmaligem Lesen des Manuals stehe ich voll auf dem Schlauch. Durch die Logik der Decorators steige ich nicht durch, und die Frage, "welchen setze ich wie wann ein - und warum?" konnte ich mir bisher auch noch nicht beantworten.
Hoffe, Ihr könnt mir auf die Sprünge helfen!
Gruß,
Puschel