我正在尝试将 js_class 添加到日历视图,但出现以下错误

问题描述

我可以添加其他属性,例如“字符串”等,并且效果很好。 但是“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