什么决定选项显示哪个更多按钮?

时间:2016-06-08 02:51:11

标签: openerp-7

在OpenERP中,树视图中有More按钮,表单视图中有More按钮。有时选项会显示在一个或另一个中,或者两者兼而有之 - 什么决定选项显示哪一个?

1 个答案:

答案 0 :(得分:1)

哪个<More>按钮可用选项由表格确定:字段ir.actions.act_windowmultiir.valueskey2对。

<act_window>快捷方式(仅在表单视图More 中提供该选项)如下所示:

<act_window
    name="My Custom Name Here"
    id="model_table_whatever_name"
    res_model="model.table"
    src_model="another_model.table"
    />

,默认情况下,还设置:

    multi = False
    key2 = 'client_action_relate'
    view_type = 'form'
    view_mode = 'tree,form'
    target = 'current'

multi / key2的值组合/结果为:

multi  /   key2                  -->  tree More / form More
0      /   client_action_relate  -->    No      /   Yes
1      /   client_action_relate  -->    Yes     /   No
1      /   client_action_multi   -->    Yes     /   No
0      /   client_action_multi   -->    Yes     /   Yes

如果您需要/希望更多地控制快捷方式影响的两个表中创建的所有字段:

<record id="action_model_table_whatever_name" model="ir.actions.act_window">
    <field name="name">My Custom Name Here</field>
    <field name="type">ir.actions.act_window</field>
    <field name="res_model">model.table</field>
    <field name="src_model">another_model.table</field>
    <field name="multi" eval="0"/>
    ... more fields here ...
</record>

<record id="model_table_whatever_name" model="ir.values">
    <field name="name">My Custom Name Here</field>
    <field name="model">sample.request</field>
    <field name="value" eval="'ir.actions.act_window,' + str(ref('action_model_table_whatever_name'))"/>
    <field name="key2">client_action_relate</field>
    ... more fields here ...
</record>

注意:虽然key2快捷方式中的默认act_window值为'client_action_relate',但使用{key2时的默认值为record 1}}格式为'tree_but_open' - 因此您可以在使用快捷方式时省略它,但在使用record样式时必须包含它。