【问题标题】:Setting the inner html text of a < span > element using Zend_Form_Decorators使用 Zend_Form_Decorators 设置 <span> 元素的内部 html 文本
【发布时间】:2010-05-20 16:48:41
【问题描述】:

我正在尝试在这里设置&lt; span &gt; 标签的内部html,所以它看起来像: 组

这是我目前所拥有的:

    $form->addDisplayGroup(
                array(
                        ................
                ),
                'maingroup1',
                array(
                    'legend'=>'',
                    'disableDefaultDecorators'=> true,
                    'decorators'=> array('FormElements',
                                        array('FieldSet',array('class'=>'dashed-outline2')),
                                        array(array('SpanTag' => 'HtmlTag'), array('tag'=>'span','class' => 'group',)),
                                        array('HtmlTag',array('tag'=>'div','id'=>'group1','class'=>'group','openOnly'=> true))
                                        )
                )
            );

是否有一个 setter / 属性可用于使用 Zend_form_decorators 设置 &lt; span&gt; 元素的内部文本? 谢谢。

【问题讨论】:

  • 为什么不直接使用html?这将需要更少的代码。 :)
  • 你不能把图例属性设置为“组”吗?那不会把它放到跨度中,但也许它就足够了(?)
  • 嗨 nuqqsa 感谢您的建议。 只能应用于
    。您是否建议我将 应用于
    ?我在父 div 中有许多字段集,但需要将图例应用于
    。目前我用javascript(设置标题onload)做到了这一点,但从表面上看,这是一个糟糕的解决方案。与不使用 zend 表单相比,目前在开发阶段为时已晚。

标签: php zend-framework zend-form zend-decorators


【解决方案1】:

当您必须开始“破解”或“找出如何……”做某事的最佳方式时,通常暗示您可能走错了路。 :-/

根据我对您的问题的理解,我最好的建议是您可能必须为此显示组开发自己的局部视图。创建显示组时,您可以设置自己的装饰器:

decorators' => array(
    array('ViewScript', array('viewScript' => 'path/to/viewscript.phtml')),
),

这将为您提供所需的查找粒度控制。我知道,必须为您的显示组创建该视图似乎令人头疼,但是,恕我直言,当没有明确的方法时,这是修改装饰器内容的“最佳实践”。

【讨论】:

    猜你喜欢
    • 2012-06-15
    • 1970-01-01
    • 2011-06-14
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多