如何为一个模型创建两个不同的搜索视图?

时间:2017-07-20 12:51:36

标签: xml odoo-8

Odoo版本8

我试过

<record model="ir.actions.act_window.view" id="list_action_view1">
        <field name="sequence" eval="1"/>
        <field name="view_mode">search</field>
        <field name="view_id" ref="search_view1"/>
        <field name="act_window_id" ref="list_action1"/>
    </record>

但是它说'搜索&#39;是无效的。树和表格很好用。

1 个答案:

答案 0 :(得分:0)

搜索视图用于过滤其他视图的内容,您不要在view_mode上添加“搜索”。

如果您需要的是两组过滤器和分组选项,那么您可以创建如下所示的内容。

<!-- The first set of filter and group-by options. -->
<record id="search1" model="ir.ui.view">
    <field name="name">Search 1</field>
    <field name="model">module.name</field>
    <field name="arch" type="xml">
        <search>
            <!-- Filter Options -->
            <field name="field1" string="Field 1"/>
            <field name="field1" string="Field 2"/>
            <!-- Group By Options -->
            <group string="Group By" name="groupby">
                <filter name="by_state" string="State" context="{'group_by': 'state'}"/>
            </group>
        </search>
    </field>
</record>

<!-- The second set of filter and group-by options. -->
<record id="search2" model="ir.ui.view">
    <field name="name">Search 2</field>
    <field name="model">module.name</field>
    <field name="arch" type="xml">
        <search>
            <!-- Filter Options -->
            <field name="field1" string="Field 3"/>
            <field name="field1" string="Field 4"/>
            <!-- Group By Options -->
            <group string="Group By" name="groupby">
                <filter name="by_priority" string="Priority" context="{'group_by': 'priority'}"/>
            </group>
        </search>
    </field>
</record>

如果您有如下所示的模块的多个菜单,并且需要过滤内容。

任务

任务 - 所有任务

任务 - 我的待办事项

<!-- All Tasks -->
<record id="action_task_all" model="ir.actions.act_window">
    <field name="name">All Tasks</field>
    <field name="res_model">module.name</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
    <field name="search_view_id" ref="search1"/>
    <field name="help" type="html">
        <p class="oe_view_nocontent_create">Create a new task</p>
    </field>
</record>

<!-- My To Do -->
<record id="action_task_my_to_do" model="ir.actions.act_window">
    <field name="name">All Tasks</field>
    <field name="res_model">module.name</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
    <field name="search_view_id" ref="search1"/>
    <field name="domain">[('current_at_id.user_id.id','=',uid)]</field>
    <field name="help" type="html">
        <p class="oe_view_nocontent_create">Create a new task</p>
    </field>
</record>

通过设置search_view_id,您还可以使用不同的过滤器和分组选项设置每个菜单。