Zend Form Decorator - добавление опций в тег входной метки - PullRequest
0 голосов
/ 17 марта 2011

Я пытаюсь получить следующий вывод html с помощью Zend_Form Decorator:

<tr>
  <td id="from-label" **class="labelcell"**><label for="from" class="required">From</label></td> 
  <td><input type="text" name="from" id="from" value="" class="text"></td>
</tr> 

Я пытаюсь добавить атрибут класса и, например, атрибут встроенного стиля в теге Label.В приведенном выше примере я хочу добавить class="labelcell "

Операторы декоратора выглядят следующим образом:

    $from = $this->createElement('text', 'from', array(
                            'validators'=> array(array('regex', false, '/^[0-9]+/i')),
                            'required'=> true,
                            'label'=> 'From'
                        )
                    );
        $from->setAttrib('class', 'text');
        $from->setDecorators(
                array(
                'ViewHelper',
                'Description',
                'Errors',
                array(array('data'=>'HtmlTag'), array('tag' => 'td')),
                array('Label', array('tag' => 'td')),
                array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
                ));

Есть ли способ достичь того, чего я хочу, без расширения Zend_Form_Decorator_Label для передачи дополнительныхвариант с вмещающим тегом?

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012
$from->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array(array('data'=>'HtmlTag'), array(
    'tag' => 'td'
)),
array('Label', array(
    'tag'   => 'td',
    'class' => 'labelcell'
    'tagClass' => 'YourClassNameHere' <- THIS IS WHAT WILL ADD TO LABEL WRAPPER

)),
array(array('row' => 'HtmlTag'), array(
    'tag' => 'tr'
)),

));

1 голос
/ 25 марта 2011

Есть опция класс . Вы должны быть в состоянии определить это и в своем конфигурационном массиве. Попробуйте это:

$from->setDecorators(array(
    'ViewHelper',
    'Description',
    'Errors',
    array(array('data'=>'HtmlTag'), array(
        'tag' => 'td'
    )),
    array('Label', array(
        'tag'   => 'td',
        'class' => 'labelcell'
    )),
    array(array('row' => 'HtmlTag'), array(
        'tag' => 'tr'
    )),
));
...