在一個模塊被安裝以後,咱們可能會但願它能夠執行一些動做,例如打開某個菜單頁面,打開某個網址,或者執行一些數據的初始化和處理等,咱們能夠藉助 Odoo 的 ir.actions.todo
類型的動做來實現這個需求。web
若是安裝過 website
模塊的話,應該會注意到在安裝完畢以後頁面跳轉到了主題選擇頁面了,選擇完主題後(主題也是一個模塊,對應的主題模塊會被安裝)會跳轉到網站首頁,下面就是主題模塊安裝後跳轉到首頁的動做定義:服務器
<?xml version="1.0" encoding="utf-8"?> <odoo> <record id="action_website" model="ir.actions.act_url"> <field name="name">Website</field> <field name="url">/</field> <field name="target">self</field> </record> <record id="base.open_menu" model="ir.actions.todo"> <field name="action_id" ref="action_website"/> <field name="state">open</field> </record> </odoo>
首先定義了一個跳轉到首頁的 act_url
動做,而後定義了一個 todo
類型的動做,而且在該動做的定義中指定 action_id
(要執行的動做)爲前面定義的動做。網站
在 todo
類型動做中所指定的動做是不限類型的,能夠是窗口動做(act_window
),服務器動做(server
),也能夠是客戶端動做(client
)以及打開 URL 的動做(act_url
)。url
其中 state
爲該動做的狀態,當一個動做被執行後,會被置爲 done
,以後便不會被觸發。spa