我在这里读到你可以使用命令构建一个模块,因此你不需要手动创建一些初始文件.但是这样的命令对master(在Odoo开发分支上)不起作用:
./oe scaffold Academy ../my-modules
Run Code Online (Sandbox Code Playgroud)
因为oe
在openerp目录中没有调用这样的文件.这个东西在最新版本中有变化吗?如何在Odoo中构建模块?
小智 29
在shell或终端上,将目录更改为odoo文件夹.也许它在/opt/odoo
,或者它可能在/home/odoo
:
cd /opt/odoo
Run Code Online (Sandbox Code Playgroud)使用odoo.py脚本创建一个新模块:
./odoo.py scaffold my_new_module ./addons/
Run Code Online (Sandbox Code Playgroud)(其中my_new_module是新模块的名称,而./addons/是Odoo addons目录)
编辑./addons/my_new_module/__openerp__.py文件.
nano ./addons/my_new_module/__openerp__.py
Run Code Online (Sandbox Code Playgroud)更改名称字段以设置模块的用户友好名称(例如"Andrius的新模块").还可以更改说明和字段.并将所需的模块(例如"mail")添加到依赖于模块依赖项的列表中.
'depends': ['base', 'mail'],
Run Code Online (Sandbox Code Playgroud)编辑models.py
nano ./addons/my_new_module/models.py
Run Code Online (Sandbox Code Playgroud)在my_new_module/models.py文件中添加代码,例如:
from openerp import models, api
class FooterlessNotification(models.Model)
_inherit = 'mail.notification'
@api.model
def get_signature_footer(self, user_id, res_model=None, res_id=None, context=None, user_signature=True):
return ""
Run Code Online (Sandbox Code Playgroud)
(例如,此代码将扩展'mail.notification'模型,并将其get_signature_footer方法替换为返回空页脚的方法.)
要在那里找到它,您可能需要使用"更新模块列表"选项.
如果找不到"更新模块列表"选项,则可能需要在当前用户的设置中启用"技术功能"复选框.
要显示模块,而不仅仅是应用程序,通过单击标记前面的小"x",从搜索框过滤器中删除标记"应用程序".
小智 7
您可以使用./odoo-bin脚手架module_name / odoo / odoo-server / addons /
要么
./odoo-bin支架模块名/ odoo / odoo-server / custom_addons /
这里custom_addons是您在odoo-server /中的目录
Odoo10中的cmd:
./odoo-bin scaffold <module_name> <destination path where you want to create>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15646 次 |
最近记录: |