这是我的模块。它的安装和加载没有任何错误。
1.需要一些帮助来弄清楚观点有什么问题,因为它们不会出现。 2.如何在标题和左侧的2个子菜单中添加菜单。
{
'name' : "Helloworld",
'version' : "1.0",
'description' : 'Helloworld test module',
'author' : "AP",
'data' : ['helloworld_view.xml'],
'installable' : True,
}
from openerp import models, fields
class HelloWorld(models.Model):
_name = 'helloworld.test'
name = fields.Char("Name", required=True, size=20 )
value = fields.Integer("Value", )
class HelloWorld2(models.Model):
_name = "helloworld.test2"
name = fields.Char("Name", required=True)
reference = fields.Reference("helloworld.test")
这是观点。我试着将它附加到销售菜单现在只是为了检查,但我肯定错过了一些东西。一般来说,当我点击标题菜单时,我希望标题中有Helloworld菜单,左侧有2个子菜单Test和Test2
<?xml version="1.0" encoding= "utf-8"?>
<openerp>
<data>
<record id= "helloworld_tree_view" model= "ir.ui.view">
<field name="model">helloworld.test</field >
<field name="arch" type= "xml">
<tree>
<field name="name"/>
<field name="value"/>
</tree>
</field>
</record>
<record id= "helloworld_form_view" model= "ir.ui.view">
<field name="model">helloworld.test</field >
<field name="arch" type= "xml">
<form>
<field name="name"/>
<field name="value"/>
</form>
</field>
</record>
<menuitem action= "helloworld_action"
id="helloworld_menu_action"
parent="base.menu_sales" sequence= "16" />
<record id="helloworld_action" model= "ir.actions.act_window" >
<field name="name" >Test1</field >
<field name="type" >ir.actions.act_window</field>
<field name="res_model" >helloworld.test</field >
<field name="view_mode" >tree,kanban,form</field >
<field name="view_type" >form</field >
<field name="help" type= "html">
<p class="oe_view_nocontent_create" >
Helloworld.
</p>
</field>
</record>
</data>
</openerp>
答案 0 :(得分:0)
在<menuitem>
中如果您要给父母,那么该菜单将添加到该菜单下。
要在Header中添加菜单,请创建没有父级的菜单。
在您的情况下,要在Helloworld下添加Test1,您可以尝试如下。
<menuitem
id="helloworld_menu_action"
sequence= "16" name="Hello World" string="Hello World"/>
<menuitem action= "helloworld_action"
id="menu_helloworld_test"
parent="helloworld_menu_action"
sequence= "16" />
注意强>
请在<menuitem>
中提供参数操作,如我在示例中所示,否则菜单将无法显示,视图将无法加载。
答案 1 :(得分:0)
我不知道您是如何撰写__openerp__.py
的,但是您没有导入您的观点,我确定。
您的视图的所有记录都是在没有名称的情况下编写的(该字段是必填字段,您的代码应该抛出错误)。
如果您修改了__openerp__.py
文件,它应该有用(只要您为自己的观点命名)。
{
'name' : "Helloworld",
'summary': "Helloworld",
'version' : "1.0",
'description' : 'Helloworld test module',
'author' : "AP",
'depends': ['base', 'sale'],
'category': 'Uncategorized',
'data' : ['helloworld_view.xml'],
'installable' : True,
}
然后在你的helloworld_view.xml
中(确保该文件位于项目的根目录中并且它的名称完全),视图应该是这样的(带有字段名称)设置)
<record id= "helloworld_tree_view" model= "ir.ui.view">
<field name="name">helloworld.tree.view</field>
<field name="model">helloworld.test</field >
<field name="arch" type= "xml">
<tree>
<field name="name"/>
<field name="value"/>
</tree>
</field>
</record>
并且不要使用字段。参考。使用fields.Many2one
。
修改强>
啊,最后一件事。您应该在操作定义后编写您的menuitem。否则它将找不到它并告诉您外部ID不存在。