我可以添加其他属性,如"字符串";等等,而且效果很好。但是";js_class;不能这样添加。我的代码:
<record id="view_calendar_event_calendar" model="ir.ui.view">
<field name="name">view.calendar.event.calendar.inherit.calendar_extend</field>
<field name="model">calendar.event</field>
<field name="inherit_id" ref="calendar.view_calendar_event_calendar"/>
<field name="arch" type="xml">
<xpath expr="//calendar" position="attributes">
<attribute name="js_class">calendar_extend_view</attribute>
</xpath>
</field>
</record>
这里是错误:
File "/home/odoo/odoo-dev/odoo-source/odoo/addons/base/models/ir_ui_view.py", line 360, in _check_xml
raise ValidationError(_('Invalid view %s definition in %s') % (view.name, view.arch_fs))
odoo.tools.convert.ParseError: "Invalid view view.calendar.event.calendar.inherit.calendar_extend definition in calendar_extend/views/calendar_event_views.xml
None" while parsing /home/odoo/odoo-dev/vpc-addons/calendar_extend/views/calendar_event_views.xml:89, near
<record id="test_view_calendar_event_calendar" model="ir.ui.view">
<field name="name">view.calendar.event.calendar.inherit.calendar_extend</field>
<field name="model">calendar.event</field>
<field name="inherit_id" ref="calendar.view_calendar_event_calendar"/>
<field name="arch" type="xml">
<xpath expr="//calendar" position="attributes">
<attribute name="js_class">calendar_extend_view</attribute>
</xpath>
</field>
</record>
> /home/odoo/odoo-dev/odoo-source/odoo/addons/base/models/ir_ui_view.py(360)_check_xml()
-> raise ValidationError(_('Invalid view %s definition in %s') % (view.name, view.arch_fs))
(Pdb)
我确信我的js代码是正确的。
如果要添加class属性,请尝试使用class代替js_class。
像这样传递您的自定义类和现有类。您可以通过使用类似firebug的东西或只是";视图源";。只需添加一个空格,类之间没有逗号。
例如:
<xpath expr="//calendar" position="attributes">
<attribute name="class">existing_class custom_class</attribute>
</xpath>
如果有人遇到这个问题,可能是你的源代码过时了。此问题已在OdooCE中修复。以下是Github中的相关问题:https://github.com/odoo/odoo/pull/31679