全局更改ZF2表单格式

时间:2014-07-04 06:58:08

标签: forms annotations zend-framework2

我是从实体构建表单

$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>

这可能吗?

1 个答案:

答案 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,

现在你只需要编写自己的标记就可以了,你应该好好去。