[英]Symfony2 formbuilder - entity readonly field as label
symfony2中是否有可能将实体的只读字段显示为标签,而不是文本字段或其他内容?
我目前正在使用以下代码,但是使用禁用的文本字段并不十分复杂:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('readonlyfield', 'text', array('property_path' => 'readonlyfield.displayString','disabled' => true));
$builder->add('editablefield', 'textarea');
}
我正在使用symfony 2.4.4 ..
编辑:
我正在另一种表单中使用这种表单类型:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('mySubEntities', 'collection', array('type' => new MySubEntryType()));
$builder->add('save_to_db', 'submit', array('label' => 'Submit'));
}
树枝文件:
{{ form_start(form) }}
{% for row in form.mySubEntities %}
<li>
<ul>
<table>
<tr><td>{{ form_label(row.readonlyfield) }} </td><td>{{ form_widget(row.readonlyfield) }}</td></tr>
<tr><td>{{ form_label(row.editablefield) }}</td><td> {{ form_widget(row.editablefield) }}</td></tr>
</table>
</ul>
</li>
{% endfor %}
{{ form_end(form) }}
您为什么不只在模板中渲染实体属性,而不是将其作为表单的一部分? 您可以创建自己的FieldType,但这不是我的建议。 如果您希望该值以文件之类的形式显示,则可以使用readonly属性。
您可以使用{{ form.vars.value.yourfield }}
来访问表单中的值。
您有一个嵌套/集合,因此请使用{{ row.vars.value.yourfield }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.