You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 15 QWEB报表中替换表格CSS类的XPath写法咨询

Odoo 15 QWEB报表替换CSS类的XPath方案

要将目标表格的table-sm类替换为table-condensed,可以使用以下两种精准的XPath实现方式,确保保留其他必要CSS类:

方式1:直接替换完整class属性

适用于明确知道目标元素所有CSS类的场景,直接重新设置class属性值:

<xpath expr="//table[contains(@class, 'table-sm') and contains(@class, 'o_main_table')]" position="attributes">
    <attribute name="class">table table-condensed o_main_table</attribute>
</xpath>
  • 定位逻辑:通过contains(@class, 'table-sm')和contains(@class, 'o_main_table')精准匹配目标表格,避免误修改其他表格元素。
  • 作用:直接覆盖class属性为指定值,确保table-sm被替换为table-condensed,同时保留table和o_main_table类。

方式2:使用XPath字符串替换函数

如果目标元素的CSS类可能存在动态变化,这种方式更灵活,仅替换指定类名:

<xpath expr="//table[contains(@class, 'table-sm') and contains(@class, 'o_main_table')]/@class" position="replace">
    <value><![CDATA[replace(., 'table-sm', 'table-condensed')]]></value>
</xpath>
  • 定位逻辑:精准匹配目标表格后,定位到其class属性。
  • 作用:利用XPath的replace函数,将class属性值中的table-sm字符串替换为table-condensed,自动保留其他所有CSS类。

注意事项

  • 需在报表的继承视图中正确引用原报表的视图ID,否则XPath无法定位到目标元素。
  • 若页面存在多个含table-sm的表格,需进一步优化XPath定位条件(比如结合父元素或其他属性),确保只修改目标表格。

内容的提问来源于stack exchange,提问作者Gustavo Salgado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:10:37