【问题标题】:Zend Form Radio Button format problemZend Form单选按钮格式问题
【发布时间】:2011-06-19 06:06:01
【问题描述】:

我对 Zend_Form 中的 radio 元素有疑问。

我有一个表单装饰器,是这样的:"

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

它适用于表单中除单选按钮之外的所有元素。经过一番研究,我发现输入元素被放置在标签标签内,而表单的其余部分只有 setLabel 方法中的文本。

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

【问题讨论】:

  • 您能否提供一个您希望如何呈现标记的示例?

标签: php zend-framework radio-button


【解决方案1】:

欢迎来到 ZF Decorators,获得头盔。我发现它们对任何想要开始使用 ZF 的人来说毫无用处、糟糕、垃圾而且非常不受欢迎。

但是,进入他们!编写你自己的,覆盖单选按钮的默认设置,让它为你工作。如果没有 ZF 装饰器的这些知识,您将总是与表单的布局作斗争或求助于 jQuery 来重新定位元素,因为 ZF 装饰器没有按照他们想要的方式工作。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 不鼓励您直接编辑 Zend_Framework 库。最好的办法是创建您自己的方法,以您希望的方式呈现此元素。
    • 我同意,那是我去年刚开始 Zend 时写的:-P
    【解决方案3】:

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

    然后您将完全控制内部渲染(从ViewScript 装饰器的角度)。

    如果您提供一个示例来说明您希望如何呈现标记,我可以详细说明或提出替代方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 2011-05-24
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      相关资源
      最近更新 更多