action通常控制,頁面呈現所需要的元素,通常我們想使用表單或是列表這些view的時候我們也會在這邊先宣告view_mode="tree,form"
。
<record id='action_all_customers' model='ir.actions.act_window'>
<field name="name">All customers</field>
<field name="res_model">res.partner</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('customer', '=', True)]</field>
<field name="context">{'default_customer': True}</field>
<field name="limit">20</field>
</record>
----------------------------------------------------------
<act_window id="action_all_customers"
name="All customers"
res_model="res.partner"
view_mode="tree,form"
limit ="20"
domain="[('customer', '=', True)]"
context="{'default_customer': True}" />
不管是使用<record id='action_all_customers' model='ir.actions.act_window'>>
或是<act_window>
呈現出來的效果都是一樣的。
menuitem負責呈現目錄,讓使用者可以在UI見面更直覺的使用odoo所提供的功能。
root menu
----------------------------------------------------------
<menuitem id="menu_custom_top_level" name="My App menu" web_icon="my_module,static/description/icon.png"/>
菜單 menu
----------------------------------------------------------
<menuitem id="menu_all_customers" parent="menu_custom_top_level" action="action_all_customers" sequence="10"/>
當我們想要透過menu來打開tree、form或是search的時候我們可以這麼做:
Tree
<record id="view_all_customers_tree" model="ir.ui.view">
<field name="name">All customers</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
</tree>
</field>
</record>
---------------------------------------------------------
Form
<record id="view_all_customers_form" model="ir.ui.view">
<field name="name">All customers</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<form>
<group>
<field name="name" />
</group>
</form>
</field>
</record>
---------------------------------------------------------
Search
<record id="search_all_customers" model="ir.ui.view">
<field name="model">res.partner</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="category_id" filter_domain="[('category_id', 'child_of', self)]"/>
<field name="bank_ids" widget="many2one"/>
<filter name="suppliers" string="Suppliers" domain="[('supplier_rank', '>', 0)]"/>
<group expand="0" string="Group By">
<filter string="Country" name="country" context="{'group_by':'country_id'}"/>
</group>
</search>
</field>
</record>
在<action>
當中
在<menuitem>
當中
在<record>
當中
在<record>
當中的<field name=''>
type='xml'
在<field name='category_id'>
oe_read_only
oe_edit_only
oe_inline