本篇文章为大家展示了ODOO中Action的原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
网站制作、成都网站制作介绍好的网站是理念、设计和技术的结合。成都创新互联公司拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。
原理:什么是Action?
首先,
让我们来看看,大家知道的客户端給服务端传参数的方式只有很少的几种:
1. URL网址后跟参数;
2. Post请求传参;
3. Header中传参(例如Cookie);
ODOO架构在设计的时候,选择了最简单、可见的传参方式,即直接在 URL 中进行参数传递。
当我们访问一个URL时,我们直接在 URL后面,跟上ODOO所能识别的参数,例如:Action、Model、View_Type、Menu_id。然后,ODOO系统会自动根据您所访问的URL进行解析,根据参数进行渲染,最后返回相应的视图。
Actions
Actions 可存在数据库中。也可以直接以字典(dictionaries)形式返回(比如按钮所运行的函数,利于前端JavaScript知道下一步要干什么)。
所有的actions有两个必须的属性:
type
类别,该属性决定了哪些字段会被用来解析此action.
name
描述,可显示在客户端界面上.
客户端会接收到4种形式的action
False
若当前action对话界面是打开状态,则关闭.
一条字符串
若与某客户端动作的tag
匹配,则解析该action,否则按数字处理.
一个数字
作为id从数据库中获取action记录,该id可能为数据记录id或外部id.
一个字典
将其作为客户端action描述,解析并执行.
在JavaScript中:
var AbstractAction = require('web.AbstractAction');
var ClientAction = AbstractAction.extend({
...
});
core.action_registry.add('my-custom-action', ClientAction);
在xml中: