Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
5050 Vistas

hello guys.. im using odoo 13

i have requirements for showing products on the eCommerce website..

i have a new boolean field "Available on eCommerce" on the product.template model on the eCommerce tab, if the field is True then it will show to the eCommerce website.. if False, it will hide/not showed on the eCommerce website..


can someone help me? thanks a lot

Avatar
Descartar

What are you using the field PUBLISHED for? (Normally this hides/shows products on the eCommerce website)

Autor

where can i find published field? i cant see on tab ecommerce..

Mejor respuesta

Hello rehan,

1) you can create a boolean field in product.template

class ProductTemplate(models.Model):

    _inherit = "product.template"

    available_on_ecommerce = fields.Boolean()

<?xml version="1.0" encoding="utf-8" ?>

<odoo>

    <data>

        <record id="product_template_extension_form_view" model="ir.ui.view">

            <field name="name">product.template.extension.form.view</field>

            <field name="model">product.template</field>

            <field name="inherit_id" ref="product.product_template_only_form_view" />

            <field name="arch" type="xml">

                <xpath expr="//field[@name='website_url']" position="after">

                    <field name="available_on_ecommerce"/>

                </xpath>

            </field>

        </record>

    </data>

</odoo>

2) now you can hide/show a particular class(which shows products in website) on check/uncheck of boolean for this you need to inherit in website sale:

<template

    id="products_item"

    inherit_id="website_sale.products_item"

    name="Product item"

>

    <xpath expr="//div[hasclass('o_wsale_product_information')]" position="attributes">

        <attribute name="t-attf-class">

        <attribute

            name="t-attf-class"

        > #{'card-body p-0 text-center o_wsale_product_information' if product.available_on_ecommerce else 'website_invisible'} </attribute>

        </attribute>

    </xpath>

</template>

3) in css:-

.website_invisible {

display: none;

}

This is another way you can do by code else you can also unpublish product from website/shop/products to hide particular product.

Thank you!

Regards,




Email:      odoo@aktivsoftware.com  

Skype: kalpeshmaheshwari

   

Avatar
Descartar
Autor

i think i found a way.. is it okay if i just add new field available_on_ecommerce and add api.constrains('available_on_ecommerce') and field website_published is change based on available_on_ecommerce value?

Mejor respuesta

Hello Rehan
You can publish/unpublished products with toggle switch as shown in image below.
You can find this under website/shop/products.

Thanks

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
dic 19
5711
1
feb 25
1476
1
ene 24
2557
0
ene 23
2908
0
feb 22
2840