odoo16-04-视图的写法-创建自定义视图

视图写法

默认视图
<!-- 主菜单定义 -->
<menuitem id="主菜单id" name="菜单名称"/>
<!-- 子菜单定义 -->
<!-- action:点击后执行的动作 -->
<menuitem id="子菜单id" name="子菜单名称" parent="主菜单id" action="my_action"/>
<!--创建动作 -->
<!--id:唯一标识 model:自带的库 -->
<record id="my_action" model="ir.actions.act_window">
    <field name="name">my_action_name/field>
    <field name="type">ir.actions.act_window</field>
    <field name="res_model">tt.haha</field>
    <field name="view_mode">tree,form,kanban</field>
</record>

ir.actions.act_window是Odoo中的一个模型,用于定义在用户点击一个菜单项或按钮时要执行的操作。它具有以下一些常用的属性

  • name:动作名称,将显示在菜单项或按钮上
  • type:指定动作的类型
    • ir.actions.act_window: 打开一个新的窗口,显示指定模型的记录。常用于打开表单或列表视图。
    • ir.actions.act_url: 打开一个URL链接,可以是外部网址或内部Odoo链接。
    • ir.actions.act_window_close: 关闭当前窗口。
    • ir.actions.act_report: 打印或预览一份报表。
    • ir.actions.server: 执行一个服务器动作,通常用于触发自定义的业务逻辑。
  • res_model:模型名称
  • view_mode:视图模式
    • 如form表单、tree列表、calendar日历、graph图表、kanban看板、pivot数据透视表等
  • view_type:视图类型
    • 如form表单、tree列表、graph表、pivot数据透视表、calendar日历、gantt甘特图等
  • target:操作执行后的打开方式,如在当前窗口打开、在新窗口打开等。
  • domain:可选的领域过滤器,用于过滤在视图中显示的记录。
  • context:可选的上下文环境,为操作提供额外的上下文数据。
  • search_view_id:可选的搜索视图的ID,用于指定在执行操作后显示的搜索视图。
内置的模型

res.partner:合作伙伴模型,用于管理客户、供应商等信息。

product.template:产品模板模型,用于定义产品的基本属性。

sale.order:销售订单模型,用于管理销售订单的信息。

purchase.order:采购订单模型,用于管理采购订单的信息。

stock.picking:送货单模型,用于管理库存的出入库。

account.invoice:发票模型,用于管理发票的信息。

hr.employee:员工模型,用于管理员工的信息。

project.task:项目任务模型,用于管理项目任务的信息。

crm.lead:潜在客户模型,用于管理潜在客户的信息

res.groups: 管理和控制用户组和权限

res.currency:处理货币相关信息的数据库模型,提供了管理货币、汇率和相关功能的机制。

自定义视图

ir.ui.view是Odoo中的一个模型,用于表示视图(view)的定义和配置。在Odoo中,视图被用于呈现和组织用户界面的布局和内容

  • name:视图的唯一标识符。
  • model:该视图适用的数据模型。
  • arch:视图的XML定义,包含了关于如何显示和操作数据的具体信息。
  • inherit_id:继承的视图的唯一标识符。
  • priority:视图的优先级,用于决定使用哪个视图。
  • mode:视图的模式,可以是primary(主要)或extension(扩展)。
  • field_parent:该视图所属的字段的名称。
  • key2:用于标识唯一的视图记录的键。
tree视图
test_module list tt.haha
<tree>
    <!--name:关联的字段名 string:显示的名称-->
    <field name="name" string="姓名"/>
    <field name="age"/>
</tree>
form视图
​ test_module form ​ tt.haha ​
<!--自定义form-查看单个数据-->
<form>
  • 使用header定义表单视图中显示在表单顶部的头部内容
  	<header>
        <field name="name" />
        <button string="button"/>
        <!--计算字段-->
        <field name="result" />
  	</header>
  • 使用sheet定义表单视图中主体内容
    <sheet>
  • 使用group对内容进行分组
        <!--默认是竖着排列 col="2":两列-->
        <group col="2">
            <!--string:分组名,也可以在group中定义string-->
            <separator string="这是一个分组标题"/>
          	<!--注意:是两层group-->
          	<!--group就是让字段名,也就是列名显示出来-->
            <group>
              <field name="name" string="name"/>
            </group>
        </group>
  • 使用notebook定义标签栏 ,page定义标签页
        <notebook>
            <!--定义单个标签-->
            <page name="标签页名称1">
              	<group>
                  	<field name="name" string="name"/>
                </group>
            </page>
          	<page name="标签页名称2">
                <group>
                  	<!--readonly='1':不允许修改-->
                  	<field name="baidu_link" string="不允许修改的字段" readonly='1'/>
                </group>
            </page>
        </notebook>
    </sheet>
</form>


scarch视图
  • tips:设置id的时候直接写作test_module.search 出现问题,不能直接使用
test_module search tt.haha
<search>
  	<!--可以搜索的字段-->
    <field name="name"/>
    <field name="age"/>
</search>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值