Warning: include_once(/home/favoledo/robertozanardo.com/wp-content/sunrise.php): Failed to open stream: No such file or directory in /home/favoledo/robertozanardo.com/wp-includes/ms-settings.php on line 52

Warning: include_once(): Failed opening '/home/favoledo/robertozanardo.com/wp-content/sunrise.php' for inclusion (include_path='.:/opt/alt/php83/usr/share/pear:/opt/alt/php83/usr/share/php:/usr/share/pear:/usr/share/php') in /home/favoledo/robertozanardo.com/wp-includes/ms-settings.php on line 52
Ereditare una search view in Odoo - Odoo e Soluzioni Open Source

Ereditare una search view in Odoo

🔍 Come ereditare una search view in Odoo

Quando sviluppiamo in Odoo, capita spesso di dover modificare la search view di un modello esistente per aggiungere nuovi filtri o campi di ricerca.

La buona notizia è che Odoo ci offre un modo elegante per ereditare e personalizzare queste viste, senza dover riscrivere tutto da zero.

Ecco come fare 👇

✅ Obiettivo

Vogliamo aggiungere un nuovo filtro alla search view del modello sale.order.

🧩 Esempio pratico

Nel tuo file XML (views/extended_sale_order_views.xml):

<odoo>
  <data>
    <record id="view_order_filter_inherit" model="ir.ui.view">
      <field name="name">sale.order.search.inherit</field>
      <field name="model">sale.order</field>
      <field name="inherit_id" ref="sale.view_sales_order_filter"/>
      <field name="arch" type="xml">
        <!-- Inseriamo il nuovo filtro alla fine dei filtri esistenti -->
        <xpath expr="//filter[last()]" position="after">
          <filter name="my_filter" string="Ordini alti" domain="[('amount_total', '>', 10000)]"/>
        </xpath>
      </field>
    </record>
  </data>
</odoo>
  • inherit_id: è la search view originale che stiamo estendendo (in questo caso quella dell’app Vendite).

  • <xpath>: ci permette di inserire il nuovo filtro in un punto preciso della vista esistente.

  • Il domain definisce la logica del filtro (qui, tutti gli ordini con importo superiore a 10.000).

  • Altro esempio:

  • <!--Inherit picking search view-->
     <record model="ir.ui.view" id="stock_picking_expand_inherit_search">
         <field name="name">stock.picking.search.expand.filter</field>
        <field name="model">stock.picking</field>
        <field name="inherit_id" ref="stock.view_picking_internal_search"/>
        <field name="arch" type="xml">
           <xpath expr="//field[@name='name']" position="replace">
                <field name="name" string="Transfer" filter_domain="['|','|', ('name', 'ilike', self), ('origin', 'ilike', self),('move_line_ids.product_id.categ_id','child_of',self)]"/>
           </xpath>
        </field>
     </record>

     

🚀 Inserire un campo nel search input

Vuoi aggiungere un campo personalizzato nel campo di ricerca “a destra”? Basta usare <field name="..." filter_domain="..."/> dentro l’<xpath> giusto.

<xpath expr="//search" position="inside">
  <field name="x_stato_custom" string="Stato custom" filter_domain="[('x_stato_custom', '=', self)]"/>
</xpath>

 

Lascia un commento

kolaybet giriş
kolaybet
betgaranti
bettilt
kolaybet
betpark
betgaranti
betpark
betgaranti
kolaybet
kolaybet
betpark
betpark
betgaranti
hellocasino
betgaranti
Kolaybet
Kolaybet Mobil Giriş
bettilt
betpark
betpark
Kolaybet
Kolaybet Giriş
Kolaybet
betpark
betpark
kolaybet
betpark
betgaranti
kolaybet giriş
kolaybet
kolaybet mobil giriş
Kolaybet Giriş
Kolaybet
Kolaybet Telegram
Kolaybet Resmi Giriş
Kolaybet Giriş
Kolaybet 2026
betpark
betpark
holiganbet
Kolaybet
Kolaybet
Betgaranti
matbet güncel giriş
matbet güncel giriş
matbet güncel giriş
matbet güncel giriş
betgaranti
betgaranti
betgaranti
sahabet
sahabet
kolaybet
kolaybet
sahabet
Hititbet
Hititbet Giriş
sahabet
Hititbet Güncel Giriş
vdcasino
onwin
onwin
hititbet
betgaranti
Hellocasino
Hello Casino
Hititbet
Hititbet 2026
Hititbet Güncel Giriş
Hititbet
Hititbet Güncel Giriş
hititbet
vdcasino
onwin
onwin
grandpashabet
betpark
betgaranti
hititbet
grandpashabet
bettilt
sahabet
sahabet
sahabet
onwin
onwin