将类应用于客户Zend Decorator

时间:2010-10-08 01:17:39

标签: zend-framework zend-form decorator

我找到了将标准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”放在label标签而不是td上。我似乎无法绕过这些自定义装饰器,所以有人能告诉我如何在标签周围的td上获得类名'rightAlign'吗?

2 个答案:

答案 0 :(得分: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'))
));

答案 1 :(得分:0)

$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'))
                                        ));

将添加所需的后缀;)