ODOO的列表组件由于不支持列模板,所以很多时候要做一些特殊的程现并不方便,所以,我们开发了模板组件,通过模板组件,可以更好的进行自定义展示,虽然是个简单的组件,但却是个非常实用的组件,效果如下
通过这个模块,便可以通过自定义模板的方式定义列表的单元格展示,下面我们便来看看如何使用
1、定义字段。
operations = fields.Char(string="Operations", help="Operations for dashboard")
由于odoo17以前的版本中不支持列表中使用widget,但支持字段中使用widget,所以使用了一个fake字段。虽然可以扩展视图验证,实际上没有比较好的方案,所以使用相对较笨的方式,但也有效
2、定义xml。
<field name="operations" widget="template_widget" options="{'template': 'mana_dashboard.dashboard_list_buttons'}"/>
3、定义模板。
如此,便能很好的去定义单元格样式
实际上,这是一种思想,通过模板的方式应对变化的用户需求,这也是odoo一向的风格,客户的诉求总是不一样的,所以,框架层面上就要做好这些考虑,这样才不至于是客户需求有所不同时花费很大的代价。