Odoo安裝教程6-創建新的插件模塊第五講

創建新的插件模塊

一些 Odoo 模塊創建新應用,而另一些則對已有應用添加功能或作出修改。雖然兩者的技術組件基本相同,但應用會被預期包含一些特徵性元素。我們創建的是一個圖書應用,所以應包含這些元素,它們是:
⚫ 圖標:用於在應用列表中展示
⚫ 頂級菜單項:其下放置所有的應用菜單項
⚫ 應用安全組: 通過權限訪問僅對指定用戶開放
添加圖標(icon),僅需在模塊目錄下 static/description/子文件夾中放置 icon.png 文件,前面已經介紹過了。下面我們來添加應用頂級菜單。

添加應用頂級菜單項

我們創建的是一個新應用,因此應包含主菜單項, 在社區版本中,顯示在左側下拉菜單中,而在
企業版中,則作爲附加圖標顯示在應用切換器主界面中。
菜單項是使用 XML 文件中添加的視圖組件,通過創建 views/library_menu.xml 來定義菜單項:

<?xml version="1.0"?>
<odoo>
<!-- Library App Menu -->
<menuitem id="menu_library" name="Library" />
</odoo>

用戶界面中的菜單項和操作均存儲於數據表中,上面的代碼是一個 Odoo 數據文件,描述了要載入 Odoo 數據庫的記錄。其中的元素是向 ir.ui.menu 模型寫入記錄的指示。 id 屬性也稱作XML ID,用於唯一標識每個數據元素,以供其它元素引用。例如在添加圖書子菜單時,就需要引用頂級菜單的 XML ID,即 menu_library。 XML ID 是一個重要話題,將在本系列文章第五篇導入、導出以及模塊數據中探討。
此處添加的菜單項非常簡單,僅用到了 name 屬性。其它常用的屬性這裏沒有使用,沒有設置父菜單,因爲這是一個頂級菜單。也沒有設置 action,因菜單項本身並不做任何事,僅僅用於放置後面要創建的子菜單項。模塊還不知道 XML 數據文件的存在,我們需要在__manifest__.py 中使用 data 屬性來添加安裝或更新時需要加載的模塊列表以進行聲明。在 manifest 文件的字典中加入:

'data': [
'views/library_menu.xml',
],

要向 Odoo 數據庫中加載這些菜單設置,需要升級模塊。此時還不會有什麼顯式的效果,因菜單項還不包含可操作子菜單,所以不會顯示。在添加好子菜單及合適的訪問權限時即可顯示。
“ 小貼士: 菜單樹中的項目僅在含有可見子菜單項時纔會顯示。底層包含窗口操作視圖的菜單項僅當用戶擁有該模型訪問權限時纔可見。 ”

更多教程:https://www.erpdaxue.cn/odoo/odoo-teach/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章