如何使用装饰器将多个 div 或字段集添加到 zend_form?
Posted
技术标签:
【中文标题】如何使用装饰器将多个 div 或字段集添加到 zend_form?【英文标题】:How can I add multiple divs or fieldsets to a zend_form using decorators? 【发布时间】:2011-02-19 06:45:38 【问题描述】:我正在尝试在我的 zend_form 显示组中生成这个 html 层次结构:
<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?
【问题讨论】:
【参考方案1】:如果你想在 Zend_Form 中使用相同的装饰器两次,你可以使用 setDecorators
数组语法传递 array(array('alias'=>'Decorator'), $options)
。此外,如果您传递 decorators
选项,则不需要使用 disableDefaultDecorators
$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')),
)
)
);
【讨论】:
以上是关于如何使用装饰器将多个 div 或字段集添加到 zend_form?的主要内容,如果未能解决你的问题,请参考以下文章
使用多个装饰器将 Type-GraphQL 与 Typegoose 相结合