本章的目的是为创建全新的Odoo模块奠定基础。将从零开始,以使我们的模块被Odoo识别所需的最低限度。在接下来的章节中,我们将逐步添加功能,以构建一个现实的商业案例。
房地产广告模块
我们的新模块将涵盖一个非常具体的业务领域,因此不包括在标准模块集中:房地产。值得注意的是,在开发新模块之前,最好验证Odoo是否已经提供了一种方法来解决特定的商业案例。
以下是包含一些广告的主列表视图的概述:
表单视图的顶部区域总结了物业的重要信息,如名称、物业类型、邮政编码等。第一个选项卡包含描述该物业的信息:卧室,起居区,车库,花园…
下面是一个快速视频,展示了模块的工作流程。
希望这段视频很快就能录制出来。
准备插件目录
参考:与本主题相关的文档可在清单中找到。
备注:
目标:本节的目标是让Odoo识别我们的新模块,目前它将是一个空壳。它将在应用程序中列出:
模块创建的第一步是创建一个新目录。为了简化开发,我们建议您首先创建目录/home/$USER/src/custom
。在这个目录中,我们添加了另一个目录estate
作为我们的模块。
一个模块必须至少包含2个文件:__manifest__.py
文件和一个__init__.py
文件。__init__.py
文件暂时可以保持为空,我们将在下一章中再次讨论它。__manifest__.py
文件必须描述我们的模块,不能为空。它唯一的必填字段是name
,但该文件通常包含更多信息。
以CRM文件为例。除了提供模块的描述(name
、category
、summary
、website
…),它还列出了其依赖项(depends
)。依赖性意味着Odoo框架将确保在安装我们的模块之前安装这些模块。此外,如果卸载了其中一个依赖项,那么我们的模块以及依赖于它的任何其他模块也将被卸载。类似你最喜欢的Linux发行包管理器(apt
、dnf
、pacman
…):Odoo的工作方式也是一样的。
练习
创建所需的插件文件。
创建以下文件夹和文件:
/home/$USER/src/custom/estate/__init__.py
/home/$USER/src/custom/estate/__manifest__.py
__manifest __.py
文件只能定义模块的名称和依赖项。目前,唯一必要的框架是base
模块。
重新启动Odoo服务器并将自定义文件夹添加到加载项路径:
$ ./odoo-bin --addons-path=../custom,../enterprise/,addons
转到应用程序,点击更新应用程序列表,搜索房estate
和…tadaaa,你的模块出现!它没有出现吗?尝试删除默认的“应用程序”过滤器;
警告
请记住启用开发人员模式
,如前一章所述。否则,你将看不到“更新应用程序列表”按钮。
练习
让你的模块成为“应用程序”。
您甚至可以安装该模块!但很明显,它是一个空壳,所以不会出现菜单。
一切都好吗?如果是,那么让我们创建第一个模型!