Zend: пользовательские декораторы для ярлыков

В настоящее время у меня есть следующий код для создания элемента формы (текстовое поле):

$this->addElement('text', 'username', array(
        'label' => 'Username',
        //'multiOptions' => $this->getOptions(),
        'filters' => array(
            'StringTrim',
        ),
        'validators' => array(
            array('StringLength', 
                false, 
                array(0, 50)),
        ),
        'decorators' => array(
            array('ViewHelper'), 
            array('Label', array(
                'tag' => 'label',
                'placement' => 'prepend',
                )
            ),
            array('HtmlTag', array(
                'tag' => 'input',
                )
            ),
        ),
    ));

Это выводит следующее в HTML:

<dt id="username-label"><label for="username" class="optional">Username</label></dt>
<dd id="username-element">
<input type="text" name="username" id="username" value="" class="input"></dd>

Однако я ожидаю, что он выведет это:

<dt id="username-label"><label for="username" class="**label**">Username</label></dt>
<dd id="username-element">
<input type="text" name="username" id="username" value="" class="input"></dd>

Почему метка не принимает класс метки, хотя я сказал использовать класс метки в определении декоратора? Я делаю что-то не так здесь?

Спасибо!


person Kevin    schedule 29.01.2013    source источник
comment
Где в декораторе установлен класс метки? Вы прошли только варианты tag и placement   -  person Phil    schedule 29.01.2013


Ответы (1)


Код для рендеринга метки элемента

$this->form->name->renderLabel() ;

person Nilesh Gupta    schedule 13.02.2013