您的位置:首页 > 其它

修改Many2One字段的链接打开方式

2012-09-01 11:08 375 查看
OE 6中, Many2One字段的只读显示方式如下:



点击时, 是在本窗口打开这个对象的. 有时候非常的恼人. 很多用户不知道浏览器的前进后退, 所以还要从头找回去.

想想, 不如改为浮动窗口的好点.

打开浏览器的开发工具:



链接都是"oe_form_uri" class. 在web模块的xml模版里, 发现这个class是 FieldURI.readonly 在使用.

转而在web模块所带的一大堆js文件里搜索 "FieldURI". 发现一大堆的界面对象在使用这个模版.

忽然想到, 应该有一个派生类, 名字类似于 many2one, 结果找到 view_page.js, line 171里.

应该是打开一个新的浮动窗口, target不能是current.

修改之

line 171:

var real_set_value = function(rval) {
self.value = rval;
self.$element.find('a')
.unbind('click')
.text(rval ? rval[1] : '')
.click(function () {
self.do_action({
type: 'ir.actions.act_window',
res_model: self.field.relation,
res_id: self.value[0],
context: self.build_context(),
views: [[false, 'page'], [false, 'form']],
target: 'new'
});
return false;
});


打完收工.

还没有验证是否影响到其他功能.

微博 @杨振宇_ 欢迎交流.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: