“Kanban视图的继承”的版本间的差异
来自Odoo大V社-odoo中文开发手册
(创建页面,内容为“使用看板视图和报表中使用的模板扩展了使用其他视图的常规技术,例如使用XPath表达式。更多的细节见第3章,继承-扩展现...”) |
|||
第25行: | 第25行: | ||
"//field[@name='display_name']]" /path/to/*.xml | "//field[@name='display_name']]" /path/to/*.xml | ||
</nowiki> | </nowiki> | ||
+ | |||
+ | 上一节:[[更多的方法来使用t-attf]] 下一节:[[自定义CSS和JavaScript]] |
2017年12月26日 (二) 00:51的最新版本
使用看板视图和报表中使用的模板扩展了使用其他视图的常规技术,例如使用XPath表达式。更多的细节见第3章,继承-扩展现有的应用程序。
一个常见的情况是使用<field>元素作为选择器,然后在它们之前或之后添加其他元素。在看板视图的情况下,同一字段可以不止一次声明,例如,模板前一次,再在模板内声明一次。这里选择器将匹配第一个字段元素,并且不会在模板中添加我们的修改。
为做到这点,我们需要使用XPath表达式来确保模板内的字段是匹配的。例如:
<record id="res_partner_kanban_inherit" model="ir.ui.view"> <field name="name">Contact Kanban modification</field> <field name="model">res.partner</field> <field name="inherit_id" ref="base.res_partner_kanban_view" /> <field name="arch" type="xml"><xpath expr="//t[@t-name='kanban- box']//field[@name='display_name']" position="before"><span>Name:</span> </xpath> </field> </record>
在上面的例子中,XPath在<t tname="kanban-box">中查找<field name="display_name">元素。这将排除<templates>节之外的同一字段元素。
对于这些更复杂的XPath表达式,我们可以使用一些命令行工具来查看正确的语法。xmllint命令行实用程序可能已经在你的Linux系统中使用了,它有一个—Xpath选项来执行XML文件的查询。
看提供更好的输出的另一种选择,是XPath命令从libxml-xpath-perl Debian/Ubuntu package:
$ sudo apt-get install libxml-xpath-perl $ xpath -e "//record[@id='res_partner_kanban_view']" -e "//field[@name='display_name']]" /path/to/*.xml
上一节:更多的方法来使用t-attf 下一节:自定义CSS和JavaScript