您好,登錄后才能下訂單哦!
本篇文章為大家展示了ODOO中Action的原理是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
原理:什么是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中:
<record id="my_action" model="ir.action.client">
<field name="name">名稱</field>
<field name="tag">my-custom-action</field>
</record>
<menuitem
id="my_menu_item"
parent="some_parent"
action="my-custom-action"
name="Title" />
上述內容就是ODOO中Action的原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。