Hoppa till innehåll
Odoo Meny
  • Logga in
  • Prova gratis
  • Appar
    Ekonomi
    • Bokföring
    • Fakturering
    • Utgifter
    • Kalkylark (Affärsanalyser)
    • Dokument
    • Underskrifter
    Försäljning
    • CRM
    • Försäljning
    • Kassasystem Butik
    • Kassasystem Restaurang
    • Prenumerationer
    • Uthyrning
    Hemsida
    • Hemsidesverktyg
    • E-handel
    • Blogg
    • Forum
    • Livechatt
    • Utbildning
    Leveranskedja
    • Lager
    • Tillverkning
    • Produktens livscykel (PLM)
    • Inköp
    • Underhåll
    • Kvalitet
    HR
    • Anställda
    • Rekrytering
    • Ledighet
    • Utvärderingar
    • Rekommendationer
    • Fordon
    Marknadsföring
    • Sociala medier
    • E-postmarknadsföring
    • Sms-marknadsföring
    • Evenemang
    • Automatiserad marknadsföring
    • Enkäter
    Tjänster
    • Projekt
    • Tidrapporter
    • Fältservice
    • Kundtjänst
    • Planering
    • Tidsbokningar
    Produktivitet
    • Diskutera
    • AI
    • IoT
    • VoIP
    • Kunskap
    • WhatsApp
    Community-appar Odoo Studio Odoo Cloud
  • Branscher
    Butiker
    • Bokaffärer
    • Klädbutiker
    • Möbelaffärer
    • Mataffärer
    • Byggvaruhus
    • Leksaksaffärer
    Restaurang & Hotell
    • Barer och pubar
    • Restauranger
    • Snabbmatsrestauranger
    • Gästhus
    • Dryckesdistributörer
    • Hotell
    Fastigheter
    • Fastighetsbyråer
    • Arkitektfirmor
    • Byggföretag
    • Fastighetsägare
    • Trädgårdsmästare
    • Bostadsrättsföreningar
    Hitta en konsult
    • Redovisningsbyrå
    • Odoo Partner
    • Reklambyråer
    • Advokatbyråer
    • Rekrytering
    • Revisioner och certifieringar
    Tillverkning
    • Textiltillverkning
    • Metalltillverkning
    • Möbeltillverkning
    • Livsmedelstillverkning
    • Bryggerier
    • Företagsgåvor
    Hälsa och fitness
    • Sportklubbar
    • Optiker
    • Träningscenter
    • Friskvård
    • Apotek
    • Frisörsalonger
    Hantverk
    • Hantverkare
    • IT-utrustning och kundtjänst
    • Solceller, solpaneler och solenergi
    • Skomakare
    • Städföretag
    • VVS-tjänster
    Övrigt
    • Ideella föreningar
    • Miljöförvaltningar
    • Uthyrning av reklamtavlor
    • Fotografer
    • Cykeluthyrning
    • Återförsäljare av mjukvara
    Upptäck alla Branscher
  • Community
    Utbildning
    • Instruktionsvideor
    • Dokumentation
    • Certifiering
    • Utbildningar
    • Blogg
    • Podcast
    Lär dig med oss
    • Workshops
    • Företagsspelet Scale Up!
    • Studiebesök hos Odoo
    Mjukvaran
    • Ladda ner
    • Jämför utgåvor
    • Versionsinformation
    Samverkan
    • GitHub
    • Forum
    • Evenemang
    • Översättningar
    • Bli en partner
    • Partnertjänster
    • Registrera din redovisningsbyrå
    Våra tjänster
    • Partners
    • Revisorer
    • Träffa en rådgivare
    • Implementering
    • Kundrecensioner
    • Kundtjänst
    • Uppgraderingar
    GitHub Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Boka en demo
  • Priser
  • Hjälp
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
Website #website website HTML/CSS #help
Om detta forum
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
Website #website website HTML/CSS #help
Om detta forum
  1. Website Builder
  2. Forum

How to hide unavailable variants from product page?

Prenumerera

Få ett meddelande när det finns aktivitet på detta inlägg

Denna fråga har flaggats
Product
4 Svar
4443 Vyer
Avatar
Tom

Is there a way to hide, grey-out or strikethrough variants that are not in stock on the product page? So customers don't have to click through all variants to see which are available, which can be annoying for them.

I know there is a third-party app that does this, but since i'm in v15 online, I can't use it. 

2
Avatar
Avbryt
Tom
Författare

Any hint to a tutorial/explanation on how to create a custom module in Odoo online?
I can not find any useful information in the internet on how to create custom modules to modify the product template?

Avatar
Mahmoud El Bouyahyaoui
Bästa svar

Yes, it is possible to hide, grey-out, or strikethrough variants that are not in stock on the product page in Odoo 15. This can be done by creating a custom module that modifies the product template and product variants views, and adding conditions based on the stock availability of the variants.

One way to accomplish this is to use the attrs attribute on the variant field in the product template view. This attribute allows you to define a JavaScript expression that will be evaluated for each variant, and can be used to set the CSS class or style of the variant based on its stock availability.

For example, you could use the attrs attribute to add a class to the variant field that will hide the variant if its stock is zero, and grey-out the variant if its stock is low.

Then in your css file you can add the css class to make it look grayed out.

.oe_product_variant_low_stock:before{
    content: 'Out of Stock';
    color: red;
}

In a similar way you can use the same logic to make the variants look strikethrough by using the following css class

.oe_product_variant_low_stock{
    text-decoration: line-through;
}

It's important to note that this is a basic example and you should adjust it according to your specific requirements. Also, it is always recommended to test your code in a development environment before deploying it to production.

1
Avatar
Avbryt
Avatar
Arthur Maertens
Bästa svar

Hi,

If this is still a topic you could actually use the integrated custom JS and SCSS to achieve something like that online ! 

In SaaS you can go to HTML and CSS editor and add this code :

JS :

(function () {
function checkOutOfStockVariants() {
const wishlistEl = document.querySelector('[data-product-template-id]');
if (!wishlistEl) return;

const productTemplateId = parseInt(wishlistEl.getAttribute('data-product-template-id'));
if (!productTemplateId) return;

const variantItems = document.querySelectorAll('.js_attribute_value');
if (!variantItems.length) return;

variantItems.forEach(function (item) {
const input = item.querySelector('input[type="radio"]');
if (!input) return;

const combinationId = parseInt(input.value);
if (!combinationId) return;

fetch('/website_sale/get_combination_info', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: "2.0",
method: "call",
id: Math.random(),
params: {
product_template_id: productTemplateId,
product_id: false,
combination: [combinationId],
add_qty: 1,
uom_id: null
}
})
})
.then(r => r.json())
.then(data => {
const info = data?.result;
if (!info) return;

const outOfStock = !info.allow_out_of_stock_order &&
info.free_qty <= (info.available_threshold ?? 0);

if (outOfStock) {
item.classList.add('oos_variant');
}
})
.catch(err => console.warn('[OOS] variant stock check error:', err));
});
}

if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', checkOutOfStockVariants);
} else {
checkOutOfStockVariants();
}

window.addEventListener('load', checkOutOfStockVariants);
})();

SCSS :

// Out of stock variants
.js_attribute_value.oos_variant {
opacity: 0.38;
pointer-events: none;
position: relative;

// Diagonal strike-through on the pill
&::after {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 1.5px;
background-color: #888;
transform: translateY(-50%) rotate(-15deg);
pointer-events: none;
z-index: 10;
}
}

Hope this helps ! 
Arthur

0
Avatar
Avbryt
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Bästa svar

Hi,

To hide unavailable variants from the product page in Odoo, you can use the Website Hide Variants module from the Odoo App Store.This module helps to hide variant which are unavailable by clicking on a boolean field

Here is the link to the app:

https://apps.odoo.com/apps/modules/16.0/website_hide_variants/

Regards

0
Avatar
Avbryt
Avatar
Tom
Författare Bästa svar

Thanks for the answer.
But I am in v15 online, so I can not add custom modules, or am I missing something?

0
Avatar
Avbryt
Njuter du av diskussionen? Läs inte bara, delta också!

Skapa ett konto idag för att ta del av exklusiva funktioner och engagera dig i vår fantastiska community!

Registrera dig
Relaterade inlägg Svar Vyer Verksamhet
Creating a Link from a title to a product in the back-end...
Odoo Website Product
Avatar
Avatar
1
aug. 22
2340
Community
  • Instruktionsvideor
  • Dokumentation
  • Forum
Öppen källkod
  • Ladda ner
  • GitHub
  • Runbot
  • Översättningar
Tjänster
  • Odoo.sh Hosting
  • Kundtjänst
  • Uppgradera
  • Anpassningsbara modifikationer
  • Utbildning
  • Revisorer
  • Partners
  • Bli en partner
Om oss
  • Vårt företag
  • Varumärkestillgångar
  • Kontakta oss
  • Jobb
  • Evenemang
  • Podcast
  • Blogg
  • Kunder
  • Juridiskt • Integritet
  • Säkerhet
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo är ett affärssystem med öppen källkod som täcker alla dina företagsbehov: CRM, e-handel, bokföring, lager, kassasystem, projektledning, och så vidare.

Odoos unika värdeförslag är att samtidigt vara väldigt enkel att använda men också helt integrerad.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now