首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自定义编辑表单

如何自定义编辑表单
EN

Stack Overflow用户
提问于 2013-11-13 21:20:39
回答 1查看 603关注 0票数 0

我已经有一个帖子可以引出这个问题,但是现在我孤立了一个问题,所以最好是写一个新的干净的帖子:

Symfony 2.1.3与jordillonch/CrudGeneratorBundle

我在一个实体上使用了这个CrudGenerator,其中我有两个需要自动更新的时间戳字段:我为时间戳功能安装了Gedmo。

这些领域是:

cree_le (英文为created_at):@Gedmo\Timestampable(on="create")

(英文为updated_at) -@Gedmo\Timestampable(on=“更新”)

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

此版本的自定义edit.html.twig无法工作,因为提交的表单无效:

代码语言:javascript
复制
<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>

当然我做错了什么,但谁能告诉我怎么继续下去呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-14 00:07:14

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19964599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档