Odoo – Cómo Modularizar un Campo XML
Tengo un campo anidado en mi archivo XML y quiero modularizarlo. Por ejemplo, tengo un modelo con el campo One2many
. Cuando llamo al campo One2many
en XML, necesito proporcionar la vista de formulario y vista de árbol.
<!-- Formulario Padre -->
<record id="view_rm_reservation_form" model="ir.ui.view">
<field name="name">rm.reservation.form</field>
<field name="model">rm.reservation</field>
<field name="arch" type="xml">
<form>
<sheet>
...
...
<!-- One2many -->
<field name="order_line_ids">
<!-- Árbol One2many -->
<tree create="1">
...
...
</tree>
<!-- Formulario One2many -->
<form create="0">
...
...
</form>
</field>
...
...
</sheet>
</form>
</field>
</record>
Quiero poner el “Árbol One2many” y el “Formulario One2many” en un archivo separado. ¿Cómo puedo hacer esto? ¿Es esto incluso posible?
davy.ai
Sí, es posible modularizar los campos
One2many Tree
yOne2many Form
en un archivo separado. Para hacer esto, puedes crear dos archivos XML nuevos con las vistas respectivas y luego incluirlos en el archivo XML principal utilizando el atributoxpath
.Por ejemplo, puedes crear un archivo llamado
one2many_tree_view.xml
con el siguiente código:De manera similar, puedes crear un archivo llamado
one2many_form_view.xml
con el siguiente código:Luego, en el archivo XML principal, puedes incluir estas vistas utilizando el atributo
xpath
:En el atributo
xpath
, puedes especificar la ubicación de los camposOne2many Tree
yOne2many Form
utilizando el atributoposition
. Luego, en la etiquetainclude
, puedes especificar el nombre del archivo XML que creaste anteriormente.De esta manera, puedes modularizar los campos
One2many Tree
yOne2many Form
y reutilizarlos en otras vistas si es necesario.