Mam problem z udekorowaniem elementu. Zend_Framework jakoś jest tak oporny, że wymyśliłem sobie taką koncepcje - będę budował formularz w htmlu, a sam element będę wyświetlał za pomocą php. Czyli coś takiego(widok):
<span class="kw3">array</span><span class="br0">(</span> </div><li class="li2"><div class="de2">
<span class="kw3">array</span><span class="br0">(</span><span class="st0">'ViewScript'</span><span class="sy0">,</span>
<span class="kw3">array</span><span class="br0">(</span><span class="st0">'viewScript'</span> <span class="sy0">=></span> <span class="st0">'contactForm.phtml'</span><span class="br0">)</span><span class="br0">)</span> </div><li class="li1"><div class="de1"> <span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li2"><div class="de2"> </div><li class="li1"><div class="de1"> <span class="re0">$this</span><span class="sy0">-></span><span class="me1">addElements</span><span class="br0">(</span>
<span class="kw3">array</span><span class="br0">(</span><span class="re0">$firstName</span><span class="sy0">,</span> <span class="re0">$lastName</span><span class="sy0">,</span> <span class="re0">$email</span><span class="sy0">,</span> <span class="re0">$telephoneNum</span><span class="sy0">,</span> <span class="re0">$contactReason</span><span class="sy0">,</span> <span class="re0">$message</span><span class="sy0">,</span> <span class="re0">$submit</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li2"><div class="de2"> <span class="br0">}</span> </div><li class="li1"><div class="de1"><span class="br0">}</span></div><li class="li2"><div class="de2"><span class="sy1">?></span></div>
[/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-128301.html_t0'>ext<span class="br0">(</span><span class="st0">'firstName'</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li1"><div class="de1"> <span class="re0">$firstName</span><span class="sy0">-></span><span class="me1">setLabel</span><span class="br0">(</span><span class="st0">'First Name'</span><span class="br0">)</span> </div><li class="li2"><div class="de2"> <span class="sy0">-></span><span class="me1">setRequired</span><span class="br0">(</span><span class="kw2">true</span><span class="br0">)</span> </div><li class="li1"><div class="de1"> <span class="sy0">-></span><span class="me1">addValidator</span><span class="br0">(</span><span class="st0">'NotEmpty'</span><span class="sy0">,</span> <span class="kw2">true</span><span class="br0">)</span> </div><li class="li2"><div class="de2"> <span class="sy0">-></span><span class="me1">addValidator</span><span class="br0">(</span><span class="st0">'Alpha'</span><span class="sy0">,</span> <span class="kw2">true</span><span class="br0">)</span></div><li class="li1"><div class="de1"> <span class="sy0">;</span> </div><li class="li2"><div class="de2"> </div><li class="li1"><div class="de1"> <span class="co1">//... </span></div><li class="li2"><div class="de2"> <span class="re0">$submit</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Form_Element_Submit<span class="br0">(</span><span class="st0">'submit'</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li1"><div class="de1"> <span class="re0">$submit</span><span class="sy0">-></span><span class="me1">setLabel</span><span class="br0">(</span><span class="st0">'Submit Form'</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li2"><div class="de2"> </div><li class="li1"><div class="de1"> <span class="re0">$this</span><span class="sy0">-></span><span class="me1">setDecorators</span><span class="br0">(</span>
<span class="kw3">array</span><span class="br0">(</span> </div><li class="li2"><div class="de2">
<span class="kw3">array</span><span class="br0">(</span><span class="st0">'ViewScript'</span><span class="sy0">,</span>
<span class="kw3">array</span><span class="br0">(</span><span class="st0">'viewScript'</span> <span class="sy0">=></span> <span class="st0">'contactForm.phtml'</span><span class="br0">)</span><span class="br0">)</span> </div><li class="li1"><div class="de1"> <span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li2"><div class="de2"> </div><li class="li1"><div class="de1"> <span class="re0">$this</span><span class="sy0">-></span><span class="me1">addElements</span><span class="br0">(</span>
<span class="kw3">array</span><span class="br0">(</span><span class="re0">$firstName</span><span class="sy0">,</span> <span class="re0">$lastName</span><span class="sy0">,</span> <span class="re0">$email</span><span class="sy0">,</span> <span class="re0">$telephoneNum</span><span class="sy0">,</span> <span class="re0">$contactReason</span><span class="sy0">,</span> <span class="re0">$message</span><span class="sy0">,</span> <span class="re0">$submit</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> </div><li class="li2"><div class="de2"> <span class="br0">}</span> </div><li class="li1"><div class="de1"><span class="br0">}</span></div><li class="li2"><div class="de2"><span class="sy1">?></span></div>
[/list]<div class="foot">[PHP] <a href='./Pobierz-Plik-128301.html,
plaintext </div></pre><!--/Geshi:128301:php-->
i klasa My_Form_Form
[php]
<?php
class My_Form_Form extends Zend_Form
{
public function __construct($options = null)
{
parent::__construct($options);
$this->clearDecorators();
$this->setElementDecorators(array('ViewScript', array( 'viewScript' => 'static/form/element.phtml'
)));
}
}
?>
Czekam na PW z prawidłowym tematem.
edit: otwieram