odoo-Action菜单

来源:互联网 发布:php截取html字符串 编辑:程序博客网 时间:2024/06/07 02:17
数据文件
Odoo是一个高度数据驱动的系统, 虽然使用Python代码来定制模块行为, 但很多模块数据是在其载入时setup的, 并且有些模块仅仅为Odoo添加数据.


通过数据文件来定义模块数据, 例如可以使用XML文件中的<record>元素定义数据, 每一个<record>元素创建或者更新数据库中的一条记录, 形式如下:
<openerp>    <data>        <record model="{model name}" id="{record identifier}">            <field name="{a field name}">{a value}</field>        </record>    </data><openerp>


model:Odoo模型名.


id:外部ID(External Identifier), 通过它可以引用到记录(并且不需要知道记录所在的数据库ID).


元素:name属性用于确定字段名称(例如description), 其内容就是字段值.


数据文件必须在模块载入清单文件列表中, 也就是__openerp__.py的’data’列表(全部载入)或’demo’列表(只有设定为载入演示数据才会载入)中.




动作和菜单

触发三个方面事件:
1.通过点击菜单,链接到一个特定动作
2.点击视图中的按钮,链接到指定动作
3.作为一个对象的链接上下文操作


使用<menuitem>声明一个ir.ui.menu并将其连接到一个action, 可以用下面的形式的代码.
<record model="ir.actions.act_window" id="action_list_ideas">    <field name="name">Ideas</field>    <field name="res_model">idea.idea</field>    <field name="view_mode">tree,form</field></record><menuitem id="menu_ideas" parent="menu_root" name="Ideas" sequence="10"          action="action_list_ideas"/>

注意: action必须先于menu的连接使用定义, 数据文件在载入时顺序地执行, 所以动作的ID必须首先存在于数据库中才能使用.


record属性:
model固定属性ir.actions.act_window
id 唯一
name 动作名称
res_model 对象
view_model 显示形式可以对调来优先显示不同视图


menuitem属性
id不能重名
parent 为上级菜单,如果菜单不在同一个XML要加上文件夹名称
name 界面上显示的文字
sequence 菜单排序
action 触发的事件


Action通常是执行XML文件中对应的菜单,因为action_id存在于数据库中,可以创建一个菜单到指定的Action上。

0 0
原创粉丝点击