一個新應用 房地產廣告模塊 假設需要開發一個房地產模塊,該模塊覆蓋未包含在標準模塊集中特定業務領域。 以下為包含一些廣告的主列表視圖 form視圖頂層區域概括了房產的重要信息,比如name,Property Type, Postcode等等。 列表記錄詳情頁中,第一個tab包含了房產的描述信息,比如 ...
一個新應用
房地產廣告模塊
假設需要開發一個房地產模塊,該模塊覆蓋未包含在標準模塊集中特定業務領域。
以下為包含一些廣告的主列表視圖
form視圖頂層區域概括了房產的重要信息,比如name,Property Type, Postcode等等。
列表記錄詳情頁中,第一個tab包含了房產的描述信息,比如:bedrooms, Living area, Garage,Garden
第二個tab頁,列出了房產的報價。我們可以在這裡看到,潛在買家可以提供高於或低於預期售價的報價,取決於賣方是否接受報價。
準備插件目錄
參考: 和該主題相關的文檔可參考 manifest.
Goal: 該小節的目標是讓odoo識別我們的新模塊,一個空殼。它將顯示在Apps中
創建模塊的第一步:新建一個目錄。為了讓開發更輕鬆,建議首先創建目錄 /home/$USER/src/custom
,然後在該目錄中添加待創建的新模塊對應的目錄(本例為 estate
)。
一個模塊至少包含兩個文件: 一個__manifest__.py
文件和一個 __init__.py
文件。__init__.py
目前可以保持為空,下一章我們在回過頭理它。而 __manifest__.py
文件必須描述模塊,且不能保持為空。其必不可少的欄位為 name
, 但通常會包含更多信息。
以CRM file(如果打不開,可參見下文)為例,為了提供模塊描述信息 (name
, category
, summary
, website
…), 它列出了它的依賴(depends
)。odoo框架會確保depends
中配置的依賴模塊在我們的模塊被安裝之前安裝。 而且,如果這些模塊中的某個依賴被卸載,我們的模塊及其它任何依賴它的模塊都會被卸載。 Odoo採用和Linux發行包管理一樣的工作方式。
創建以下目錄及文件
odoo14/custom/estate/__init__.py
(官方推薦路徑:/home/$USER/src/custom/estate/__init__.py
,註意這裡的包名estate
即為模塊的Technical Name
)odoo14/custom/estate/__manifest__.py
(官方推薦路徑:/home/$USER/src/custom/estate/__manifest__.py
)
__manifest__.py
文件只定義name
和模塊依賴,目前唯一必要的框架模塊為 base
。如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
{
'name': 'estate',
'depends': ['base']
}
添加 custom
目錄路徑到 addons-path
,重啟Odoo服務:
python odoo-bin --addons-path=custom,odoo/addons -r myodoo -w test123 -d odoo
驗證
瀏覽器頁面中訪問Apps, 點擊搜索estate
CRM file
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'CRM',
'version': '1.2',
'category': 'Sales/CRM',
'sequence': 15,
'summary': 'Track leads and close opportunities',
'description': "",
'website': 'https://www.odoo.com/page/crm',
'depends': [
'base_setup',
'sales_team',
'mail',
'calendar',
'resource',
'fetchmail',
'utm',
'web_tour',
'contacts',
'digest',
'phone_validation',
],
'data': [
'security/crm_security.xml',
'security/ir.model.access.csv',
'data/crm_lead_prediction_data.xml',
'data/crm_lost_reason_data.xml',
'data/crm_stage_data.xml',
'data/crm_team_data.xml',
'data/digest_data.xml',
'data/mail_data.xml',
'data/crm_recurring_plan_data.xml',
'wizard/crm_lead_lost_views.xml',
'wizard/crm_lead_to_opportunity_views.xml',
'wizard/crm_lead_to_opportunity_mass_views.xml',
'wizard/crm_merge_opportunities_views.xml',
'views/assets.xml',
'views/calendar_views.xml',
'views/crm_recurring_plan_views.xml',
'views/crm_menu_views.xml',
'views/crm_lost_reason_views.xml',
'views/crm_stage_views.xml',
'views/crm_lead_views.xml',
'views/digest_views.xml',
'views/mail_activity_views.xml',
'views/res_config_settings_views.xml',
'views/res_partner_views.xml',
'views/utm_campaign_views.xml',
'report/crm_activity_report_views.xml',
'report/crm_opportunity_report_views.xml',
'views/crm_team_views.xml',
],
'demo': [
'data/crm_team_demo.xml',
'data/mail_activity_demo.xml',
'data/crm_lead_demo.xml',
],
'css': ['static/src/css/crm.css'],
'installable': True,
'application': True,
'auto_install': False
}
作者:授客
微信/QQ:1033553122
全國軟體測試QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限於時間倉促,文中可能存在錯誤,歡迎指正、評論!
作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額隨意,您的支持將是我繼續創作的源動力,打賞後如有任何疑問,請聯繫我!!!
微信打賞
支付寶打賞 全國軟體測試交流QQ群