Применение класса к клиенту Zend Decorator - PullRequest
0 голосов
/ 08 октября 2010

Я нашел код, который изменит стандартные теги 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. Кажется, я не могу обернуть голову вокруг этих пользовательских декораторов, поэтому кто-нибудь может сказать мне, как получить имя класса 'rightAlign' на тд, окружающем метку?

Ответы [ 2 ]

1 голос
/ 08 октября 2010

Просто добавьте еще один декоратор

$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'))
));
0 голосов
/ 14 февраля 2011
$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'))
                                        ));

добавит необходимый суффикс;)

...