2010-03-06 81 views
1
<div class="field50Pct"> 
<div class="fieldItemLabel"> 
    <label for='First Name'>First Name:</label> 
</div> 
<div class="fieldItemValue"> 
    <input type="text" id="firstname" name="firstname" value="" /> 
</div> 
</div> 

<div class="clear"></div> 

我希望代碼在源代碼中出現像這樣。我如何使用裝飾器在zend中編寫相同的東西?使用zend表格裝飾器

元素就像

$firstname = new Zend_Form_Element_Text('FirstName'); 
     $firstname->setLabel('FirstName') 
       ->setRequired(true) 
       ->addFilter('StripTags') 
       ->addFilter('StringTrim') 
       ->addErrorMessage('Error in First Name') 
       ->addValidator('NotEmpty'); 

回答

5

這似乎爲我工作:(輸入後<div class="clear"></div>

$firstname->setDecorators(array(
     'ViewHelper', 
     'Description', 
     'Errors', 
     array('HtmlTag', array('tag' => 'div', 'class' => 'fieldItemValue')), 
     array(array('labelDivOpen' => 'HtmlTag'), 
       array('tag' => 'div', 
        'placement' => 'prepend', 
        'closeOnly' => true)), 
     'Label', 
     array(array('labelDivClose' => 'HtmlTag'), 
       array('tag' => 'div', 
        'class' => 'fieldItemLabel', 
        'placement' => 'prepend', 
        'openOnly' => true)), 
     array(array('fieldDiv' => 'HtmlTag'), 
       array('tag' => 'div', 'class' => 'field50Pct')), 
     array(array('divClear' => 'HtmlTag') , 
       array('tag' => 'div' , 
        'class' => 'clear', 
        'placement' => 'append')) 
    )); 
+0

我是個新來的Zend ..can你剛剛給我解釋一下代碼你寫。這樣我就可以嘗試下一次寫我自己了! – Hacker 2010-03-08 06:23:15

+0

我該怎麼寫

之後一些元素? – Hacker 2010-03-08 06:23:53

+0

基本上,我正在裝飾名字的領域。 http://devzone.zend.com/article/3450 http://codeutopia.net/blog/2008/08/07/zend_form-decorator-tips/ – 2010-03-08 06:28:34