Skip to Content
Menu
This question has been flagged
6 Replies
9740 Views

I'm learning about developing modules. I saw two ways of adding fields in view.

One is like this:
https://www.odoo.com/documentation/12.0/howtos/backend.html#inheritance

<field name="arch" type="xml"> 
     <xpath expr="//field[@name='description']" position="after">
        <field name="idea_ids" string="Number of ideas"/>
    </xpath>
</field>


And the second one is:
https://www.cybrosys.com/blog/adding-custom-fields-to-existing-views-in-odoo-v12

<field name="arch" type="xml">
    <field name="confirmation_date" position="after">
        <field name="additional_note"/>
    </field>
</field>

What is the difference? What should I use?

Avatar
Discard

Read more about inheritance in odoo: https://goo.gl/fGNfBY

Best Answer

Hello,

you can both uses xpath and also field

but when complicated condition then uses xpath and normal condition then use normal field.

Avatar
Discard
Best Answer

Hi!

If the modification you try to make can be done by using the field-based selection (your second example), I would always go with this solution for the sake of readability. This applies to all the cases when you try to do something directly after/before/inside some field or to that field itself.

The <xpath expr="..."> allows you to utilize the full potential of XPath to select any node inside a view. If you cannot select the specific position you are looking for via a named field, do it via XPath. :)

Avatar
Discard
Best Answer

Xpath expressions gives the ability to add new pages, groups, fields to an already existing view.

Normal field gives the ability to add fields inside a already existing or new view.

Avatar
Discard
Best Answer

Xpath is probably used for traverse purpose.It is mainly focused for existing one.fields are used to view purpose. 

Avatar
Discard
Best Answer

Thanks for responses

Avatar
Discard
Best Answer

Hi,

We can use both. 

Xpath gives you the option to add below details to an already existing view.

new pages, 

groups, 

fields and more

When you inherit an existing view in a module and required to extend it, you will need XPath expressions. 

In complicated situations, you can use Xpath or otherwise the one that you mentioned in the blog.


Avatar
Discard
Related Posts Replies Views Activity
0
Aug 19
2359
3
Aug 19
2786
2
Jun 20
4277
0
Apr 19
3169
2
Jan 19
5320