总览
这个示例将创建一个菜单,点击触发一个客户端动作,关联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': [ |