Ir al contenido
Menú
Se marcó esta pregunta
6 Respuestas
10795 Vistas

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
Descartar

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

Mejor respuesta

Hello,

you can both uses xpath and also field

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

Avatar
Descartar
Mejor respuesta

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
Descartar
Mejor respuesta

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
Descartar
Mejor respuesta

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

Avatar
Descartar
Mejor respuesta

Thanks for responses

Avatar
Descartar
Mejor respuesta

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
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
ago 19
2783
3
ago 19
3408
2
jun 20
5112
0
abr 19
3674
2
ene 19
5988