情况:当Odoo基础视图已经无法满足个性化需求,需要领开辟一片天地来造作。
结果:
做菜步骤:
-
原材料:1个template的xml文件,1个views的xml文件,一个view_list.js注册文件。
-
手 法:
template的xml文件内容:<?xml version="1.0" encoding="UTF-8"?> <templates id="template" xml:space="preserve"> <t t-name="Template_Test"> <iframe src="http://www.baidu.com" style='width:100%;height:100%' /> </t> </templates>
views的xml文件内容:
<?xml version="1.0" encoding="UTF-8"?> <openerp> <data> <!--Client动作--> <record id="new_client_test" model="ir.actions.client"> <field name="name">Client测试</field> <field name="tag">new_client_test</field> </record> <!--菜单--> <menuitem id="button_top" sequence="10" name="菜单"/> <menuitem id="button_middle" name="二级菜单" parent="button_top"/> <menuitem id="button" name="三级点击菜单" parent="button_middle" action="new_client_test"/> </data> </openerp>
JS的文件中添加内容(只涉及内容 不涉及文件的外部格式):
module.Template_Test = instance.Widget.extend({ template: "Template_Test", init: function (parent, params) { this._super(parent); this.context = params.context; }, start: function () { var self = this; } }); instance.web.client_actions.add('new_client_test', 'instance.${module_name}.Template_Test');
这里用一个iframe来演示,我们可以自定义template界面,然后通过js来控制事件,并且可以非常方便的将其他B/S系统嵌套进Odoo系统,通过SSO接口同步权限来扩展应用。