How do I override CRUD tags in Play! Framework 1.2.4

自作多情 提交于 2019-12-11 09:56:32

问题


I've got a Model with a Many-To-Many relationship and have applied the CRUD module to it, so I get a nice multi-select box rendered on the admin screen, but it's only 4 lines high. I want to specify at least 20 lines but because CRUD is all auto-generated by reflecting the object (I guess...), even overriding the template doesn't allow for this.

The code I need to override is in views.tags.crud/relationField.html - I just want to add a "size" value like this :-

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

but it doesn't seem overridable.

Anyone got any tricks to getting round this?


回答1:


You can first override the show and blank templates for the controller.

Then, declare the form fields explicitly inside the template, like this:

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

Leave your special case field out of the list. Then, after the form tag, add the necessary HTML for your field in any way you like. (You can look at how the field would be constructed in relationField.html and only make the necessary changes.)

It's a bit hacky but nevertheless a decent way to achieve what you are after. Hope this helps!

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




回答2:


You could use a JQuery script on load to alter the form...



来源:https://stackoverflow.com/questions/11936439/how-do-i-override-crud-tags-in-play-framework-1-2-4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!