تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
10727 أدوات العرض

There is a way to remove an attribute completely:

<xpath expr="//field[@name='order_line']/tree" position="attributes">
    <attribute name="editable"/>
</xpath>

And there is a way to completely replace an attribute with smth else:

<xpath expr="//label[@for='type']" position="attributes">
    <attribute name="groups">sale.group_delivery_invoice_address</attribute>
    <attribute name="invisible">False</attribute>
</xpath>

But is there a short way to append a value to an attribute?

So that after appending my_second_class to attribute class in <div class="my_first_class"> we receive <div class="my_first_class my_second_class">.

الصورة الرمزية
إهمال
أفضل إجابة

I think there is no way to do such thing for attributes.
Your only choice is to retype the previous value of the attribute!

الصورة الرمزية
إهمال
الكاتب

Looks like nobody knows of a better solution, indeed. Let's mark yours as a good one then.

أفضل إجابة

Yes, there is. If you have an element like


    <div id="my_div" class="my_first_class">


You can add something to the class-attribute using the following xpath:


    <xpath expr="//div[@id='my_div']" position="attributes">
    <attribute name="class" separator=" " add="my_second_class"/>
    </xpath>

The resulting div would look like:

    <div id="my_div" class="my_first_class my_second_class">

الصورة الرمزية
إهمال

this is a new thingI guess, which odoo version?

I didn't check older versions than V13, but I can say that it works at least in V13, V14, V15, V16 and V17.

أفضل إجابة

Look at this article  https://dev.to/opencode/don-t-break-your-and-others-odoo-xml-373i

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
0
يناير 22
1872
1
يناير 19
8647
0
ديسمبر 24
1207
0
ديسمبر 24
1016
2
يوليو 24
2917