宜兴通达竭诚为您服务。

创建ODOO12视图

2020-09-12 14:09:00     作者: Administrator     来源:互联网,版权归作者所有     浏览次数: 122     文字大小:【】【】【

你没有登录,文章中的图片无法正常显示,请点击登录

前面我们创建了一个任务清单模型通过菜单项在用户界面中显示,接下来我们为它创建两个基本视图:列表视图和表单视图。

列表视图

创建列表视图步骤如下:

点击设置>技术>用户界面>视图

点击创建按钮进入视图编辑页面,填入如下值:

  • 视图名称: To-do List View

  • 视图类型: 树形

  • 模型: x_todo_item

2、在结构标签下,使用 XML 书写视图的结构,代码如下:

<tree>

    <field name="x_name" />

    <field name="x_is_done" />

</tree>

列表视图的基本结构非常简单:一个包含列表视图中显示的一个或多个数据列的元素(element)。

效果如下:

表单视图

创建表单视图的步骤如下:

1、创建另一条视图记录,并填入如下值:

  • 视图名称: To-do Form View

  • 视图类型: 表单

  • 模型: x_todo_item

2、在结构标签下, 输入如下XML 代码:

<form>

  <group>

    <field name="x_name" />

    <field name="x_is_done" />

    <field name="x_work_team_ids"

    widget="many2many_tags"

    context="{'default_x_is_work_team': True}" />

 </group>

</form>


表单视图结构根节点有一个<form>元素,包含<field>元素。这里还有一个针对工具组字段的小组件(widget),以标签按钮而非列表栏显示。这一个按钮状标签通过在工作组字段中添加 widget 属性来实现。

默认情况下,关联字段允许直接创建记录用作关联。也就说可以在工作组字段中直接创建用户,但如果这么做用户将不会带有Is Work Team? 标记,也就产生了不一致性。

为了更好的用户体验,在这种情况下我们可以默认就带有这一标记。这需要通过 context 属性来实现,它向下一个视图传递 session 信息,比如要使用的默认值。在后续章节中会就此进行探讨,现在只要知道这是一个键值对的字典即可。以 default_作为前缀来提供对应字段的默认值。

所以此处要为用户设置Is Work Team? 标记所需的表达式为{‘default_x_is_work_team’: True}。

效果如下:


搜索视图

我们可以为列表视图右上角的搜索框预设一些过滤项和分组选项,Odoo 把这也视为视图元素,所以可以像列表视图和表单视图一样在 Views 中添加记录来定义。想必现在大家已经非常熟悉了,在菜单中点击设置>技术> 用户界面>视图或在开发者工具中对应上下文中进行编辑操作均可。我们进入任务清单列表视图,点击开发者工具中的编辑搜索视图


当前列表清单模型还未定义过任何搜索视图,所以显示一个空表单用于进行创建,填入如下值并保存:

  • 视图名称:选择一个有意义的描述,此处使用To-do Items Filter

  • 视图类型: 搜索

  • 模型: x_todo_item

  • 结构: 添加如下XML 代码:

<search>

   <filter name="item_not_done"

             string="Not Done"

             domain="[('x_is_done', '=', False)]" />

</search>

此时重载任务清单,可以在搜索框下方筛选按钮下选择预设的 Not Done 过滤器,

在搜索框中输入 Not Done也会提示过滤条件。


默认开启过滤器会较便捷,在不需要时取消过滤即可。正如默认字段值一样,还是使用 context 属性来设置默认过滤器。

在点击 To-do 菜单时,执行一个窗口操作打开列表视图,该操作可设置一个上下文值,让视图默认开启某一搜索过滤器,操作步骤如下:

  1. 点击To-do 菜单进入任务清单列表

  2. 点击开发者工具图标并选择编辑动作,


这时将弹出一个窗口操作界面,在右下角有一个筛选版块,这里有域值上下文值字段。域值字段可用于为所显示记录设置固定的过滤器,而且用户无法删除。这不符合我们的场景。我们只是要默认开启item_not_done过滤器,用户可以随时取消选择。默认打开过滤器,添加以search_default_作为前缀的上下文值键,这里使用{'search_default_item_not_done':True}


这时再点击 To-do 菜单,搜索框中默认就会开启 Not Done 过滤器。

关闭默认过滤器


视频演示:
http://ctdrive.tderp.com/file/13502532-461163653
http://www.tderp.com/download/details/odoo12-847

相关文章 评论

服务原则及地区范围

宜兴通达团队,在企业网络维护和企业信息化建设与咨询方面,有10多年经验。

我团队愿与客户一道,力求彻底解决客户问题!
我们不是在给企业提供“头痛医头、脚痛医脚”的暂时解决方案,而是在部署根本性安全与稳定服务!!
我们愿携手客户,建立企业IT规划;杜绝随意安装系统、软件等操作;力求共同维护有序、安全、稳定的网络办公环境!!!
IT服务,服务是根本,客户是上帝;我们提供快速响应、快速上门、快速排查,提供优质高效的服务!!!!

通达团队提供全国范围内的服务,服务形式包括远程协助、电话咨询、电子邮件咨询、传真咨询、问答平台的问题解决等。

宜兴地区提供上门服务:

  • 市区服务:宜城街道、城北街道(屺亭街道)、新街街道、新庄街道、环科园、渚桥开发区
  • 市郊服务:张渚镇、西渚镇、太华镇、徐舍镇、官林镇、杨巷镇、新建镇、和桥镇、高塍镇、万石镇、周铁镇、芳桥镇、丁蜀镇、湖父镇。
  • 联系电话:189-21-343434
  • 在线沟通: