【问题标题】:Applying Class to Customer Zend Decorator将类应用于客户 Zend 装饰器
【发布时间】:2011-04-22 16:07:04
【问题描述】:

我找到了将标准 dt 和 dd 标记更改为 Zend_Form_Element 的表标记的代码。这是我使用的代码:

       $element->setDecorators(array(
   'ViewHelper',
   'Errors',
   array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
   array('Label', array('tag' => 'td', 'class' => 'rightAlign')),
   array(array('row' => 'HtmlTag'), array('tag' => 'tr'))

)); 但这会将类名“rightAlign”放在标签标签上,而不是 td 上。我似乎无法理解这些自定义装饰器,所以谁能告诉我如何在标签周围的 td 上获取类名“rightAlign”?

【问题讨论】:

    标签: zend-framework zend-form decorator


    【解决方案1】:

    再添加一个装饰器

    $element->setDecorators(array(
        'ViewHelper',
        'Errors',
        array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
        'Label',
        array(array('labelWrap' => 'HtmlTag'), array('tag' => 'td', 'class' => 'rightAlign')),
        array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
    ));
    

    【讨论】:

    • 谢谢,帮了大忙。我真的需要弄清楚这些装饰器是如何正常工作的,哈哈。
    【解决方案2】:
    $this->setElementDecorators(array(
                                                'ViewHelper',
                                                'Errors',
                                                array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
                                                array('Label',array('requiredSuffix' => ' * ')),
                                                array(array('labelWrap' => 'HtmlTag'), array('tag' => 'td', 'align' => 'right')),
                                                array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
                                            ));
    

    将添加所需的后缀;)

    【讨论】:

      猜你喜欢
      • 2015-02-01
      • 2016-07-24
      • 1970-01-01
      • 2020-11-30
      • 2020-08-27
      • 1970-01-01
      • 2011-10-05
      • 2012-12-24
      • 2013-07-25
      相关资源
      最近更新 更多