总览
这个示例将创建一个菜单,点击触发一个客户端动作,关联js定义的对象,显示相应模板
这个示例包括下面三个文件
- 模板文件
static/src/xml/client_action.xml
- 定义模板
HelloJS
显示<div>Display HelloJS</div>
- 定义模板
- JS文件
static/src/js/client_action.js
- 定义对象
HomePage
继承于web.AbstractAction
- 对象中调用
HelloJS
模板 - 对象中定义
init
方法和start
方法 - 将
HomePage
对象注册为动作:HelloJS_tag
- 定义对象
- 视图文件
views/client_action.xml
- 继承
web.assets_backend
加载JS文件 - 定义客户端动作关联
HelloJS_tag
- 定义显示的菜单关联客户端动作
- 继承
示例文件内容
1、定义模板文件static/src/xml/client_action.xml
1 | <?xml version="1.0" encoding="UTF-8"?> |
2、定义JS文件static/src/js/client_action.js
1 | odoo.define('hello.js', function (require) { |
3、创建视图文件views/client_action.xml
1 | <?xml version="1.0" encoding="UTF-8"?> |
4、在__manifest__.py
文件中引入XML文件
1 | 'qweb': [ |