表单是企业管理的重要组成部分,这一节我们就来介绍在Odoo中如何制作列表页和表单页。
还记得我们编辑过的patient_menu.xml吗?我们在这个xml文件里建立了菜单和动作,现在我们要添加form信息了
我们用最简方式做一个先,然后再进行美化,请记住,xml文件位置里,这个form要摆在action前面:
<!-- Patient Form -->
<record id="patient_form" model="ir.ui.view">
<field name="name">hospital.patient.form</field>
<field name="model">hospital.patient</field>
<field name="arch" type="xml">
<form string="Patients">
<field name="patient_name"/>
<field name="patient_age"/>
<field name="notes"/>
<field name="image"/>
</form>
</field>
</record>
我们升级一下模块,看看效果,如何升级模块我已在前面的章节讲过了,也因为我们还没有配置权限,所以我们先变成Superuser来看。
这是一个很丑的界面,接下来我们用<<group></group>标记符来美化,注意看sheet里面的部分
<!-- Patient Form -->
<record id="patient_form" model="ir.ui.view">
<field name="name">hospital.patient.form</field>
<field name="model">hospital.patient</field>
<field name="arch" type="xml">
<form string="Patients">
<sheet>
<group>
<group>
<field name="patient_name"/>
</group>
<group>
<field name="patient_age"/>
</group>
<group>
<field name="notes"/>
<field name="image"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
patient_name和patient_age各分两列,notes和image合在一列。这样的界面看起来舒服多了吧:)
下面,我们一鼓作气,把Tree这个列表功能解决掉,同Form的道理一样,只是略微修改一些地方:
<!-- Patient Tree -->
<record id="patient_tree" model="ir.ui.view">
<field name="name">hospital.patient.tree</field>
<field name="model">hospital.patient</field>
<field name="arch" type="xml">
<tree string="Patients">
<field name="patient_name"/>
<field name="patient_age"/>
<field name="notes"/>
<field name="image"/>
</tree>
</field>
</record>
注意看一下,form的地方换成了tree。我们添加一条记录,这样可以看到列表的效果
我们点击一下主菜单Hospital
OK,接下来就轮到绑定权限了,Odoo实现CRUD速度不是一般的快啊!