如何解决Odoo - 查找并删除 <p> 标签
我想删除 <p>
元素:
<record model="ir.ui.view" id="helpdesk_support_form_view">
<field name="name">Helpdesk form</field>
<field name="model">helpdesk.support</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<group>
<field name="total_spend_hours" widget="float_time" attrs="{'readonly': [('stage_type','=','closed')]}"/>
<p style="color:grey;" colspan="3">Some text here</p>
</group>
</group>
</sheet>
</form>
</field>
</record>
我怎样才能做到这一点?
我继承了视图并尝试添加:
<xpath expr="//p" position="replace">
<span></span>
</xpath>
但我收到此错误:
File "src/lxml/lxml.etree.pyx",line 3501,in lxml.etree._Validator.assert_ (src/lxml/lxml.etree.c:184715)
AssertionError: Element odoo has extra content: data,line 2
谢谢
解决方法
转成字符串再用split方法查找信息。
以下代码将起作用,如果所有消息/一行具有相同的格式
标签
a = """<p style="color:grey;" colspan="3">Some text here</p>"""
a.split("<p ")[1].split(">")[1].split("</p")[0]
,
您可以使用 Odoo XPath,因此您需要继承基础视图。您的 xml 代码将类似于以下内容:
<!-- could be used for qweb templates -->
<template id="custom_template" inherit_id="base_module.base_view">
<xpath expr="//p" position="replace">
<span></span>
</xpath>
</template>
如果模型视图中的段落您的代码可能如下所示:
<record id="custom_view" model="ir.ui.view">
<field name="name">custom.view</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="base_module.base_view"/>
<field name="arch" type="xml">
<xpath expr="//p" position="replace">
<span></span>
</xpath>
</field>
</record>
请注意,您必须在 xpath
标签内添加数据。不能为空。所以在提供的代码中添加一个 span
元素。
解决方案是:
<xpath expr="//form/sheet/group/group/p" position="replace">
<p></p>
</xpath>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。