如何在 Play 中覆盖 CRUD 标签!框架 1.2.4

Posted

技术标签:

【中文标题】如何在 Play 中覆盖 CRUD 标签!框架 1.2.4【英文标题】:How do I override CRUD tags in Play! Framework 1.2.4 【发布时间】:2012-08-13 14:33:01 【问题描述】:

我有一个具有多对多关系的模型并已对其应用了 CRUD 模块,因此我在管理屏幕上得到了一个漂亮的多选框,但它只有 4 行高。我想指定至少 20 行,但因为 CRUD 都是通过反映对象自动生成的(我猜...),所以即使覆盖模板也不允许这样做。

我需要覆盖的代码在views.tags.crud/relationField.html - 我只想添加一个像这样的“大小”值:-

<select id="$field.id" name="$pName" multiple="yes" size="20">

但它似乎不可覆盖。

有人有什么技巧可以解决这个问题吗?

【问题讨论】:

【参考方案1】:

您可以先覆盖控制器的showblank 模板。

然后,在模板中显式声明表单字段,如下所示:

#crud.form fields: ['field1','field2','field3'] /

将您的特殊情况字段排除在列表之外。然后,在表单标记之后,以您喜欢的任何方式为您的字段添加必要的 HTML。 (您可以查看relationField.html 中的字段是如何构造的,并且只进行必要的更改。)

这有点老套,但仍然是实现您所追求的目标的好方法。希望这会有所帮助!

http://www.playframework.org/documentation/1.2.4/guide7#aCustomizingthePostforma

【讨论】:

【参考方案2】:

您可以在加载时使用 JQuery 脚本来更改表单...

【讨论】:

我想如果没有原生(即 Play Framework)的方式来做到这一点,我可能不得不

以上是关于如何在 Play 中覆盖 CRUD 标签!框架 1.2.4的主要内容,如果未能解决你的问题,请参考以下文章

Play Framework:如何在 CRUD 模型中声明不应在 UI 中显示的成员

Play 2.0 与 Play 1.2.5-RC1 + CRUD + 其他模块 [关闭]

Java 与 play 框架崩溃

使用 Play 框架覆盖 HTTP 方法

如何将参数传递给 Play 中的 Jobs!框架 1.2.x?

玩!框架 CRUD 模块:添加默认值和更改日期格式?