2013-02-12 2 views
3

Я использую ZF2 и имеют форму, которая определяет кучу элементов, а затем я сделать это в моем PHTML так:Форматирование формы ZF2?

<?php 

$form = $this->form; 
$form->prepare(); 

echo $this->form()->openTag($form); 
echo $this->formlabel($form->get('description')); 
echo $this->formRow($form->get('radioButton')); 
echo $this->form()->closeTag(); 

?> 

рисующий метку и переключатель. Мой вопрос: как я могу отформатировать эти элементы по своему вкусу? Например, переключатели будут отображаться горизонтально, а не вертикально, и, возможно, изменить расположение метки.

+0

По умолчанию Помощники делают так, как вы видите его в выходе: либо оказывать их вручную (путем взаимодействия с свойствами элемента формы в вашем представлении) или создания новых помощников в представлении, соответствующих вашим потребностям – Ocramius

+0

В дополнение к тому, что сказал @Ocramius, синтаксис вашего помощника: 'formRow ($ element, $ position, $ renderErrors) '. Вы можете сделать это: '$ this-> formRow ($ element, 'preend')', чтобы флажки были добавлены с меткой. – Sam

ответ

9

Нет ничего, что помешало бы вам форматировать их, как есть, вы можете поместить элементы внутри списка или любую дополнительную разметку, которую хотите пометить, как хотите.

<?php 
$form = $this->form; 
$form->prepare(); 

echo $this->form()->openTag($form); 
?> 
<ul class="form-list"> 
    <li> 
    <div class="form-control"> 
     <?php echo $this->formlabel($form->get('description')); ?> 
     <?php echo $this->formElementErrors($form->get('description')) ?> 
     <?php echo $this->formElement($form->get('description')); ?> 
    </div> 
    <div class="form-control"> 
     <?php echo $this->formlabel($form->get('radioButton')); ?> 
     <?php echo $this->formElementErrors($form->get('radioButton')) ?> 
     <?php echo $this->formElement($form->get('radioButton')); ?> 
    </div> 
    </li> 
</ul> 
<?php echo $this->form()->closeTag() ?> 

Если вы хотите, чтобы иметь контроль над реальными элементами/входы сами вы могли бы сделать что-то вроде этого:

<label> 
    <?php echo $form->get('radioButton')->getLabel() ?> 
    <input class="bob" type="radio" 
      name="<?php echo $form->get('radioButton')->getName() ?>" 
      value="<?php echo $form->get('radioButton')->getValue() ?>" 
    /> 
</label> 
Смежные вопросы