Zend Form单选按钮格式问题

时间:2011-02-01 12:29:38

标签: php zend-framework radio-button

我在Zend_Form中遇到了无线电元素的问题。

我有一个表单装饰器,就是这样:“

$this->setElementDecorators(array(
                   'Label',
                   'ViewHelper',
                   'Errors',
                   array('HtmlTag', array('tag' => 'div', 'class' => 'clearfix')),
               ));

它适用于除radiobuttons之外的表单中的所有元素。经过一些研究后,我发现input元素被放置在label标签内,而表单的其余部分只有setLabel方法中的文本。

有没有办法让它离开那里因为这会破坏我的布局,我无法弄清楚如何以正确的方式做到这一点。

3 个答案:

答案 0 :(得分:0)

欢迎来到ZF装饰者,戴上头盔。对于想要开始使用ZF的人来说,我发现它们毫无用处,糟糕,垃圾,并且非常不吸引人。

但是,进入他们!编写自己的,覆盖Radio Buttons的默认值,让它适合你。如果没有ZF装饰器的知识,你将始终与表单的布局或使用jQuery重新定位元素,因为ZF装饰器没有按照他们想要的方式工作。

简而言之,阅读文档,编写自己的文档并开始享受它们。

答案 1 :(得分:0)

你可以在ZendRadio.php中更改它。转到第159行并将其更改为您喜欢的内容。

答案 2 :(得分:0)

一种解决方案是创建自己的Zend_View_Helper_FormRadio版本。称之为My_View_Helper_FormRadio并将自定义前缀路径添加到视图中(这可以通过配置文件完成)。

然后你就可以完全控制内部渲染(从ViewScript装饰器的角度来看)。

如果您提供了如何渲染标记的示例,我可以详细说明或建议替代方案。