ir.ui.menu在OpenERP 7.0中有什么用?

时间:2015-08-21 09:15:26

标签: openerp openerp-7

我是OpenERP的新手,我想知道OpenERP中的model="ir.ui.menu"是什么。像这样,还有许多其他模型。

例如:

model="ir.ui.view"

model="ir.actions.act_window"

任何人都可以解释这一切吗?

4 个答案:

答案 0 :(得分:3)

使用ir.ui.menu模型,您可以创建新的菜单项。您可以使用menuitem标记,它是快捷方式:

<record id="menu_human_readable_name" model="ir.ui.menu" >
    <field name="name">Human readable name</field>
    <field name="sequence" eval="10" />
    <field name="action" ref="action_name" />
    <field name="parent_id" ref="base.menu_custom" />
</record>

您对ir.actions.act_window模型in the Odoo documentation有一个小解释。您可以在action模型的ir.ui.menu字段中指定此类操作的ID

  

最常见的操作类型,用于显示模型的可视化   通过视图:窗口操作定义了一组视图类型(和   对于模型(可能是特定的视图)   模特)。

<record id="action_human_readable_name_act_window" model="ir.actions.act_window">
    <field name="type">ir.actions.act_window</field>
    <field name="name">Human readable name</field>
    <field name="res_model">model.name</field>
    <field name="view_mode">tree,form</field>
    <field name="view_type">form</field>
    <field name="target">current</field>
    <field name="domain">[]</field>
    <field name="context">{}</field>
    <field name="search_view_id" ref="ir.ui.view" />
</record>

ir.ui.view用于显示字段或树列表的视图

您在Odoo Documentation

中有更多信息
  

视图定义模型记录的显示方式。每种类型   视图表示可视化模式(记录列表,图形   他们的聚合,...)。可以一般性地请求视图   通过他们的类型(例如合作伙伴列表)或特别通过他们的ID。   对于通用请求,具有正确类型和最低的视图   将使用优先级(因此每种类型的最低优先级视图是   该类型的默认视图。)

<record model="ir.ui.view" id="view_id">
    <field name="name">view.name</field>
    <field name="model">object_name</field>
    <field name="priority" eval="16"/>
    <field name="arch" type="xml">
        <!-- view content: <form>, <tree>, <graph>, ... -->
        [...]
        <field name="field_name" />
        [...]
    </field>
</record>

答案 1 :(得分:2)

菜单和操作

菜单是 ir.ui.menu 表中的记录。要创建新的菜单条目,您可以使用记录标记直接创建记录。

<record id="menu_external_id" model="ir.ui.menu">
  <field name="name">New Menu</field>
  <field name="action" ref="action_external_id"/>
  <field name="sequence" eval="<integer value>" />
  <field name="parent_id" ref="parent_menu_external_id"/>
</record>

使用优先使用的 menuitem 标记有一个快捷方式。它提供了一种灵活的方式来轻松定义菜单条目以及图标和其他字段。

<menuitem id="menu_external_id"
    name="New Menu"
    action="action_external_id"
    icon="ICON_NAME"
    groups="groupname"
    sequence="<integer value>"
    parent="parent_menu_external_id"
/>

如果从菜单/ menuitem中删除parent / parent_id,则它将成为顶级菜单。

操作

action指定操作表( ir.actions.act_window )中定义的附加操作的标识符。此字段不是必需的:您可以定义菜单元素而不将操作与它们相关联。 在为将充当文件夹的菜单元素定义自定义图标时,这非常有用。这就是定义OpenERP中“项目”或“人力资源”的自定义图标的方法。

这些操作定义了系统响应用户操作的行为;登录新用户,双击发票,单击操作按钮,...

有不同类型的简单操作:

  • 窗口:打开新窗口
  • 报告:打印报告

     - Custom Report: The personalized reports  
     - RML Report: The XSL:RML reports
    
  • 执行:在服务器端执行方法
  • 组:在一个组中收集一些操作

这些操作用于以下事件:

  • 用户连接。
  • 用户点击菜单。
  • 用户点击“打印”或“操作”图标。

    <record id="action_external_id" model="ir.actions.act_window">
        <field name="name">action.name</field>
        <field name="view_id" ref="view_external_id" />
        <field name="domain">[('field','operator','value')]</field>
        <field name="context">{'key':value}</field>
        <field name="res_model">Model Name</field>
        <field name="view_type">form|tree</field>
        <field name="view_mode">form,tree|tree,form|form|tree</field>
        <field name="target">new/current</field> 
    </record>
    

答案 2 :(得分:2)

我希望您能够轻松理解我的解释如下:

"ir.ui.menu"是一个模型,映射为ir_ui_menu数据库表,用于存储Odoo(OpenERP)中菜单的数据。 Odoo(OpenERP)中的每个菜单都通过xml文件插入并存储在数据库中。此外,"ir.ui.view"存储视图数据(例如表单,树和搜索视图),"ir.actions.act_window"存储操作数据。

结论:大多数(并非所有)OpenERP中的模型都是数据库内表的表现形式。

答案 3 :(得分:1)