Php 如何自定义编辑表单

Php 如何自定义编辑表单,php,forms,symfony,Php,Forms,Symfony,我已经有一篇文章提出了这个问题,但现在我隔离了一个问题,所以最好是写一篇新的干净的文章: Symfony 2.1.3与jordillonch/CrudgeGeneratorBundle 我在一个实体上使用了这个CrudgeGenerator,其中有2个需要自动更新的可时间戳字段: 我安装Gedmo是为了实现时间可调的功能 这些字段是: cree_le(英文created_at):@Gedmo\timestable(on=“create”) 和modifile(在更新的英语中)——@Gedmo\t

我已经有一篇文章提出了这个问题,但现在我隔离了一个问题,所以最好是写一篇新的干净的文章:

Symfony 2.1.3与jordillonch/CrudgeGeneratorBundle

我在一个实体上使用了这个CrudgeGenerator,其中有2个需要自动更新的可时间戳字段: 我安装Gedmo是为了实现时间可调的功能

这些字段是:

cree_le(英文created_at):@Gedmo\timestable(on=“create”)

和modifile(在更新的英语中)——@Gedmo\timestable(on=“update”)

问题是我想自定义表单,以便只显示用户要更新的字段。 当我使用{{form_widget(edit_form)}使用未定制的edit.html.twig时,更新正在工作,但更新的_at的值没有更改,因为旧值随表单一起提交。 我尝试了几种方法来定制表单,但还没有找到解决方案

此版本的customized edit.html.twig无效,因为提交的表单无效:

<form class="well" action="{{ path('employee_update', { 'id': entity.id }) }}" method="post" {{ form_enctype(edit_form) }}>
    <input type="hidden" name="_method" value="PUT" />
    <div>
        {{ form_label(edit_form.nom) }}
        {{ form_errors(edit_form.nom) }}
        {{ form_widget(edit_form.nom) }}
    </div>
    <div>
        {{ form_label(edit_form.email) }}
        {{ form_errors(edit_form.email) }}
        {{ form_widget(edit_form.email) }}
    </div>
    <div>
        {{ form_label(edit_form.telephone, 'Téléphone') }}
        {{ form_errors(edit_form.telephone) }}
        {{ form_widget(edit_form.telephone) }}
    </div>
    <div>
        {{ form_label(edit_form.actif) }}
        {{ form_errors(edit_form.actif) }}
        {{ form_widget(edit_form.actif) }}
    </div>
    <input type="hidden" id="too_employeebundle_employee_cree_le" name="too_employeebundle_employee[cree_le]" value="{{ entity.creele|date('Y-m-d H:i:s') }}">
    <input type="hidden" id="too_employeebundle_employee_modifie_le" name="too_employeebundle_employee[modifie_le]" value="{{ entity.modifiele|date('Y-m-d H:i:s') }}">
    {{ form_widget(edit_form._token) }}
    <p>
        <button type="submit" class="btn btn-success">{{ 'views.edit.editbutton'|trans({}, 'JordiLlonchCrudGeneratorBundle') }}</button>
    </p>
</form>

{{form_label(edit_form.nom)}
{{form_errors(edit_form.nom)}
{{form_小部件(edit_form.nom)}
{{form_label(编辑_form.email)}
{{form_errors(edit_form.email)}
{{form_小部件(编辑_form.email)}
{{form_标签(编辑_form.telephone,'Téléphone')}
{{表单错误(编辑表单.电话)}
{{form_小部件(编辑_form.telephone)}
{{form_label(edit_form.actif)}
{{form_errors(edit_form.actif)}
{{form_小部件(edit_form.actif)}
{{form_小部件(编辑_form._令牌)}

{{'views.edit.editbutton'{}trans({},'jordillonchcrudgeGeneratorBundle')}


当然我做错了,但是谁能告诉我怎么做呢?

从表单类中删除cree_le和modifile,不要在模板上呈现它们。 那就让他做他的工作吧!创建内容时,cree_le值将自动设置。当您更改某些内容时,可修改值也将自动设置