我是从实体构建表单
$builder = new AnnotationBuilder( $entityManager);
$form = $builder->createForm( $entity );
这是一个很棒的功能(为我节省了很多工作),但我想要的是全局更改这些表单的布局。我想使用表格布局而不是
<label><span>Name:</span><input type="text" value="" name="name"></label>
我想要像
这样的东西<tr><td>Name:</td><td><input type="text"></td></tr>
这可能吗?
答案 0 :(得分:1)
我实际上错了,你不需要实际扩展或编写新的viewHelper来实现不同类型的渲染。
实际上formRow
viewHelper有一个部分参数
public function __invoke(ElementInterface $element = null, $labelPosition = null, $renderErrors = null, $partial = null)
使用该参数集<?php echo $this->formRow($element, null, true, 'path/to/your/partial'); ?>
调用viewHelper后,它将为您的部分设置以下变量。
'element' => $element,
'label' => $label,
'labelAttributes' => $this->labelAttributes,
'labelPosition' => $this->labelPosition,
'renderErrors' => $this->renderErrors,
现在你只需要编写自己的标记就可以了,你应该好好去。