第三章:新應用程序?
本章的目的是為創建一個全新的Odoo模塊打下基礎。我們將從零開始,最少的內容使我們的模塊被Odoo識別。在接下來的章節中,我們將逐步添加功能,構建一個現實的業務案例。
房地產廣告模塊?
我們的新模塊將涵蓋一個非常特定的業務領域,因此不包括在標準模塊集中:房地產。值得注意的是,在開發新模塊之前,最好驗證Odoo是否已經提供了回答特定業務案例的方法。
這是包含一些廣告的主列表視圖的概述:

表單視圖的頂部區域總結了房產的重要信息,例如名稱、房產類型、郵政編碼等。第一個選項卡包含描述房產的信息:臥室、起居室面積、車庫、花園等。

第二個選項卡列出了該房產的報價。我們可以在這里看到潛在買家可以在預期售價之上或之下提出報價。賣方有權接受報價。

這里有一個快速視頻展示模塊的工作流程。
希望這個視頻很快就會錄制出來 :-)
準備插件目錄?
參考 : 有關此主題的文檔可以在 清單 中找到。
注解
目標 :本節的目標是讓Odoo識別我們的新模塊,它現在是一個空殼子。它將在應用程序中列出:

創建模塊的第一步是創建一個新目錄。為了方便開發,我們建議您首先創建目錄 /home/$USER/src/custom
。在這個目錄中,我們添加另一個目錄 estate
,這是我們的模塊。
一個模塊必須包含至少兩個文件: __manifest__.py
文件和一個 __init__.py
文件。 __init__.py
文件現在可以保持為空,我們將在下一章節回到它。另一方面, __manifest__.py
文件必須描述我們的模塊,不能保持為空。它唯一必需的字段是 name
,但通常包含更多信息。
請看 CRM 文件 作為一個例子。除了提供模塊的描述信息( name
, category
, summary
, website
…),它還列出了它的依賴項( depends
)。依賴項意味著Odoo框架將確保在安裝我們的模塊之前安裝這些模塊。此外,如果這些依賴項中的任何一個被卸載,那么我們的模塊和 依賴于它的任何其他模塊也將被卸載 。想想你最喜歡的Linux發行版包管理器( apt
, dnf
, pacman
…):Odoo的工作方式相同。
Exercise
創建所需的插件文件。
創建以下文件夾和文件:
/home/$USER/src/custom/estate/__init__.py
/home/$USER/src/custom/estate/__manifest__.py
The __manifest__.py
文件應該只定義模塊的名稱和依賴項?,F在唯一必需的框架模塊是 base
。
重啟Odoo服務器并將 custom
文件夾添加到 addons-path
:
$ ./odoo-bin --addons-path=../custom,../enterprise/,addons
進入應用程序,點擊更新應用程序列表,搜索“estate”,然后……噠噠噠,您的模塊出現了!它沒有出現嗎?也許嘗試刪除默認的“應用程序”過濾器;-)
警告
請記得按照前一章節中所述啟用 開發者模式 ,否則您將看不到 更新應用列表 按鈕。
Exercise
將您的模塊變成一個’應用程序’。
在 __manifest__.py
中添加適當的鍵,以便在“應用程序”過濾器打開時顯示該模塊。
你甚至可以安裝這個模塊!但是顯然它是一個空殼,所以不會出現任何菜單。
一切順利嗎?如果是,那么讓我們 創建我們的第一個模型 !