Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
4609 Zobrazení

I want to add a field named 'nationality' in the product.template model under the product category field.
I want the nationality field to be only visible when the product category is selected as Services.
how can I achieve this in odoo17 please help me.

                   

 

Thank you

Avatar
Zrušit
Nejlepší odpověď

Hi,


You can achieve this requirement by using Odoo's views inheritance mechanism. Here's how you can do it:


1. Define the new field nationality in the product.template model:


from odoo import models, fields
class ProductTemplate(models.Model):
    _inherit = 'product.template'
    nationality = fields.Char(string="Nationality")


2. Override the form view of the product.template model. Create a new XML file (for example, product_template_views.xml) in your custom module and add the following code:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="product_template_form_inherited" model="ir.ui.view">
<field name="name">product.template.form.inherited</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/>
        <field name="arch" type="xml">
<xpath expr="//field[@name='categ_id']" position="after">
<field name="nationality" invisible="type != 'service'"/>

            </xpath>
        </field>
    </record>
</odoo>

After making these changes, update the module and refresh the browser to see the changes. Now, the nationality field should only be visible when the product category is selected as Services.

Regards

Avatar
Zrušit
Autor

The code is working when i select the product type as 'service'
I want the nationality field to be only visible when I select the product category as 'All / Saleable / Services'.
Please help me how can I do this

Related Posts Odpovědi Zobrazení Aktivita
0
úno 24
1081
5
zář 21
6899
0
zář 19
2958
3
úno 24
12670
0
bře 15
3847