2010-05-13 56 views
2

我试图生成我的Zend_Form显示组这个网站层次:如何使用装饰器将多个div或fieldset添加到zend_form中?

<div class="settings"> 
    <div class="dashed-outline"> //want to add this div 
     <fieldset disabledefaultdecorators="1" id="fieldset-settings"> 
      <legend>Cards</legend> 
      </fieldset> 
     </div>  
    </div> 

这是我目前:

<div class="settings"> 
     <fieldset disabledefaultdecorators="1" id="fieldset-settings"> 
      <legend>Cards</legend> 
      </fieldset> 
    </div> 

这是上面的代码:

$form->addDisplayGroup($flashcardGroup, 
          'settings', 
          array(
           'legend' => 'Cards', 
           'disableDefaultDecorators' => true, 
           'decorators' => array(
                'FormElements', 
                'Fieldset', 
                array('HtmlTag',array('tag' => 'div', 'class' => 'settings')), 
                ) 
           ) 
          ); 

如何在这里添加额外的div?

回答

6

如果您想在Zend_Form中使用相同的装饰器两次,则可以使用setDecorators数组语法传递array(array('alias'=>'Decorator'), $options)。此外,你应该不需要使用disableDefaultDecorators如果你传递一个decorators选项

$form->addDisplayGroup($flashcardGroup, 
    'settings', 
    array(
    'legend' => 'Cards', 
    'decorators' => array(
     'FormElements', 
     'Fieldset', 
     // need to alias the HtmlTag decorator so you can use it twice 
     array(array('Dashed'=>'HtmlTag'), array('tag'=>'div', 'class'=>'dashed-outline')), 
     array('HtmlTag',array('tag' => 'div', 'class' => 'settings')), 
    ) 
) 
); 
+0

感谢,稍加调整,即工作。 – 2010-05-13 21:07:19

相关问题