使用Zend_Form将多个元素组添加到一个显示组中


Add multiple element groups into one display group using Zend_Form

我正在使用Zend_Form输出我的表单,我正在尝试将的中的按钮元素分组,然后将它们添加到字段集中。

我管理过的最好的是:

<fieldset id="fieldset-group1">
    <div class="buttons">
        <button name="submit_form" id="submit_form" type="submit">Submit</button>
        <button name="cancel_form" id="cancel_form" type="submit">Cancel</button>
    </div>
</fieldset>
<fieldset id="fieldset-group2">
    <div class="buttons">
        <button name="reset_form" id="reset_form" type="submit">Reset</button>
        <button name="button_form" id="button_form" type="button">Button</button>
    </div>
</fieldset>

其中所述两个元件组在两个单独的显示组内。我通过将DisplayGroup HtmlTag Decorator的"tag"选项设置为"div。

我希望实现的是:

<fieldset id="fieldset-group1">
    <div class="buttons">
        <button name="submit_form" id="submit_form" type="submit">Submit</button>
        <button name="cancel_form" id="cancel_form" type="submit">Cancel</button>
    </div>
    <div class="buttons">
        <button name="reset_form" id="reset_form" type="submit">Reset</button>
        <button name="button_form" id="button_form" type="button">Button</button>
    </div>
</fieldset>

其中两个div在一个显示组中。

我希望我可以使用HtmlTag装饰器可用的"openOnly"answers"closeOnly"选项,但它们不适用于DisplayGroups。

除了扩展Zend_View_Helper_Fieldset以执行我想要的操作之外,还有更好的方法吗?

'decorators'=>array('FormElements',
                     array(array('divtag'=>'HtmlTag'),'options'=>array('tag'=>'div')),
                     array(array('fstag'=>'HtmlTag'),'options'=>array('tag'=>'fieldset','openOnly'=>true)),
                   )

openOnly/closeOnly也可以与DisplayGroups一起使用

他们总是说你可以编写自己的装饰器。您所要做的不是扩展view_helper,而是编写自己的decorator。这里的decorator不是字段集afaik,而是字段集内部和使用的FormElements。FormElements装饰器并不是为处理您要查找的div而设计的。