odoo開發教程十五:儀表板
阿新 • • 發佈:2021-12-17
儀表盤可以通過外部ID引用其他檢視檔案的內容,整合到一個介面進行顯示。
一:建立儀表盤檢視檔案
views/session_board.xml:
通過外部id引入要展示的檢視檔案——定義儀表板form表單,把引入的檢視檔案進行佈局顯示——定義action,指定開啟儀表板檢視的動作——定義子選單綁帶到odoo頂級儀表板選單下,繫結action
<?xml version="1.0"?> <odoo> <data> <!--引用一個模型的圖形檢視--> <record model="ir.actions.act_window" id="act_session_graph"> <field name="name"></field> <field name="res_model">引用的模型</field> <field name="view_type">form</field> <field name="view_mode">graph</field> <field name="view_id" ref="模型.被引用的檢視元素的外部id"/> </record> <!--引用日曆檢視--> <record model="ir.actions.act_window" id="act_session_calendar"> <field name="name"></field> <field name="res_model">模型</field> <field name="view_type">form</field> <field name="view_mode">calendar</field> <field name="view_id" ref="模型.檢視外部id"/> </record> <!--引用模型列表/表單檢視--> <record model="ir.actions.act_window" id="act_course_list"> <field name="name">Courses</field> <field name="res_model">openacademy.course</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> </record> <!--定義儀表板form表單--> <record model="ir.ui.view" id="board_session_form"> <field name="name">儀表板</field> <field name="model">board.board</field> <field name="type">form</field> <field name="arch" type="xml"> <form string=" Dashboard"> <board style="2-1">//有好幾種樣式:1,1-1,2-1和1-1-1,可以在odoo裡面點選切換 <column>//一列 <action string="檢視一" name="%(上面引入的檢視id)d" height="150" width="510"/> <action string="檢視二" name="%(上面引入的檢視id)d"/> </column> <column>//第二列 <action string="檢視三" name="%(上面引入的檢視id)d"/> </column> </board> </form> </field> </record> <!--定義動作開啟儀表板form檢視--> <record model="ir.actions.act_window" id="open_board_session"> <field name="name">Session Dashboard</field> <field name="res_model">board.board</field> <field name="view_type">form</field> <field name="view_mode">form</field> <field name="usage">menu</field> <field name="view_id" ref="board_session_form"/> </record> <!--在odoo原生儀表板選單下,定義子選單,把儀表板開啟動作繫結到選單項--> <menuitem name="Session Dashboard" parent="base.menu_reporting_dashboard" action="open_board_session" sequence="1" id="menu_board_session" icon="terp-graph"/> </data> </odoo>
2:修改manifest檔案,新增depends以及註冊檢視檔案:
'depends': ['base', 'board'], 'data': [ ...... 'views/session_board.xml', ],