Zend Framework: декораторы Zend Form - удалить несколько <label> - PullRequest
3 голосов
/ 06 декабря 2010

Я создаю элемент формы по этому коду:

$input_new = $this->createElement('radio', 'Stars', array(
    'label' => 'Stars',
    'Options' => array('class'=>'star {split:2}'),
    'multiOptions'=>array(
        '1'=> '',
        '2'=> '',
        '3'=> '',
        '4'=> '',
        '5'=> '',
        '6'=> ''
  );

Вот что я получил:

<label for="Stars" class="optional">Stars</label>    
<label for="Stars-1"><input type="radio" name="Stars" id="Stars-1" value="1" class="star {split:2} in_line"></label><br />
<label for="Stars-2"><input type="radio" name="Stars" id="Stars-2" value="2" class="star {split:2} in_line"></label><br />
<label for="Stars-3"><input type="radio" name="Stars" id="Stars-3" value="3" class="star {split:2} in_line"></label><br />
<label for="Stars-4"><input type="radio" name="Stars" id="Stars-4" value="4" class="star {split:2} in_line"></label><br />
<label for="Stars-5"><input type="radio" name="Stars" id="Stars-5" value="5" class="star {split:2} in_line"></label><br />
<label for="Stars-6"><input type="radio" name="Stars" id="Stars-6" value="6" class="star {split:2} in_line"></label>

Я хочу удалить каждый вход и тег
, но основной ярлык (звезды) по-прежнему сохраняется. Как я могу это сделать?

1 Ответ

2 голосов
/ 06 декабря 2010

Ну, ваши радиокнопки могут перейти в группу отображения (набор полей), так что вы также можете удалить все метки для кнопок и просто использовать метку группы.Если нет, вам, вероятно, нужно написать внешний вид декоратора.Я не могу придумать более чистого способа избавиться от ярлыков.

[EDIT]

Вот пример:

В форме установите декораторы так::

$input_new->setDecorators(array(array('ViewScript', array('viewScript' => 'starsview.phtml'))));

Затем создайте файл starsview.phtml.Эти ссылки должны оказаться полезными для выяснения того, как создать содержимое скрипта вида:

Надеюсь, это поможет.

...