ODOO中的Action原理?

简介: ODOO 中的 Action原理?

原理:什么是Action?

首先,

     让我们来看看,大家知道的客户端給服务端传参数的方式只有很少的几种:

     1. URL网址后跟参数;

     2. Post请求传参;

     3. Header中传参(例如Cookie);
     ODOO架构在设计的时候,选择了最简单、可见的传参方式,即直接在 URL 中进行参数传递。

     当我们访问一个URL时,我们直接在 URL后面,跟上ODOO所能识别的参数,例如:Action、Model、View_Type、Menu_id。然后,ODOO系统会自动根据您所访问的URL进行解析,根据参数进行渲染,最后返回相应的视图。

image

image

image

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中:

         <field name="name">名称</field>

         <field name="tag">my-custom-action</field>

          id="my_menu_item"

          parent="some_parent"

          action="my-custom-action"

          name="Title" />
目录
相关文章
|
Linux 虚拟化
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
|
Linux
CentOS8设置网络镜像安装源
CentOS8设置网络镜像安装源
2132 0
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
261388 0
|
存储 数据库
ODOO中的Related字段及Computed字段原理
难理解的参数: Store = True 原因:ODOO 默认情况下不存储计算字段。(因为,可以减少数据库的开销)。但你知道的, 当您希望能够执行某个函数,需要从数据库中调用此值时,这会导致问题。要修复此问题,odoo 在计算字段上提供 store=true 标志。
3829 0
|
9月前
|
JSON Shell 数据格式
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
942 17
|
编解码 数据可视化 定位技术
60行代码就可以训练/微调 Segment Anything 2 (SAM 2)
本文演示了如何在仅60行代码内(不包括标注和导入)对SAM2进行微调。
1036 1
60行代码就可以训练/微调 Segment Anything 2 (SAM 2)
|
jenkins Linux 测试技术
在Linux中,什么是CI/CD,并且如何在Linux中实现它。
在Linux中,什么是CI/CD,并且如何在Linux中实现它。
|
关系型数据库 MySQL 数据库
MySQL8.0.36 安装配置教程(保姆级,包含图文讲解,环境变量的配置)适合小白
MySQL8.0.36 安装配置教程(保姆级,包含图文讲解,环境变量的配置)适合小白
Echarts饼状图标题位置的设置
Echarts饼状图标题位置的设置
630 0
|
Linux Python
CentOS7下安装python3.8
CentOS7下安装python3.8
1690 0