Я пробовал так:
<?php
echo $this->formRow($form->get('weekday'), Zend\Form\View\Helper\FormRow::LABEL_PREPEND);
?>
Но метки по-прежнему остаются за флажками.
Как мне правильно установить положение метки?
Я пробовал так:
<?php
echo $this->formRow($form->get('weekday'), Zend\Form\View\Helper\FormRow::LABEL_PREPEND);
?>
Но метки по-прежнему остаются за флажками.
Как мне правильно установить положение метки?
Является ли день недели мультифлажком? Если это так, используйте метод рендеринга formMultiCheckbox вместо formRow, и метка будет расположена там, где вы хотите.
Я отлаживал процесс, и это странное поведение. При вызове класса Zend/Form/View/Helper/FormRow позиция метки инициализируется так, как вы ожидаете (LABEL_PREPEND).
Позже вызывается класс Zend/Form/View/Helper/FormMultiCheckbox, но он не наследует позицию от FormRow и использует значение по умолчанию, которое равно вы не хотите, LABEL_APPEND.
Проверьте метод __invoke в обоих классах, и вы увидите.
<fieldset>
и <legend>
необходимо отображать вручную, поскольку FormMultiCheckbox
отображает только флажки. Вот почему я попросил другую попытку выше с установкой label_position в качестве опции для элемента, что должно решить проблему;)
- person Sam; 11.04.2013
<label>type_1<label>type_2<input /></label><label>type_2<input /></label></label>
(в ZF type_2
не получает тег label
по умолчанию). Я думаю, хорошо, что позиция метки type_1
(весь набор флажков) не наследуется от каждого флажка (type_2
). Другой вопрос: как установить оба? Поскольку нельзя вкладывать formRow(...)
и formMultiCheckbox(...)
друг в друга...
- person automatix; 11.04.2013
label_position
?
- person Sam; 11.04.2013
option { label_position = 'append' }
на свойweekday
элемент? :) Это может уже решить проблему, но я не уверен, если нет, у меня есть более длинное решение: P - person Sam   schedule 11.04.2013