【问题标题】:Symfony: add on-the-fly widgets for 1-n / n-n relations?Symfony:为 1-n / n-n 关系添加即时小部件?
【发布时间】:2010-11-14 23:17:19
【问题描述】:

如何让用户在表单上添加小部件?

假设用户可以添加 1 个或多个网站。 如何让他点击一个“+”按钮来添加一个新的小部件以添加第二个网站?

谢谢

【问题讨论】:

    标签: php forms symfony1 widget


    【解决方案1】:

    我这样做的方法是在表单类上覆盖 bind() 并将元素添加到表单对象上的特殊受保护属性中。您还可以将它们添加到专门用于处理此动态输入数量的嵌入式表单中。为嵌入表单提供一个公共方法,例如 addWebsite()

    bind() 中将它们添加到您的选择后,从传递的 $taintedValues 数组中取消设置它们,以便 CSRF 验证。

    然后重写 doSave() 以从表单对象中获取它们或推迟将嵌入的表单保存到它执行类似操作的位置。

    我无法“最佳实践”这一点,但如果您有时间使用工具并且在多个表单中使用相同的处理方式,您会想要尝试嵌入式表单方式。

    【讨论】:

    • 感谢帮助我,我会做更多关于嵌入式表单的研究
    猜你喜欢
    • 2019-04-15
    • 1970-01-01
    • 2015-08-04
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多