cancel
Showing results for 
Search instead for 
Did you mean: 

Récuperer id du child produit selectionné dans la page détail produit configurable

SOLVED
   Did you know you can see the translated content as per your choice?

Translation is in progress. Please check again after few minutes.

Récuperer id du child produit selectionné dans la page détail produit configurable

Bonjour à tous,

Je suis sous magento 2.4.1.

Dans ma page détail produit d'un produit configurable j'ai besoin de récupérer l'id du produit sélectionné par le choix des attributs.

Avez-vous une solution?

 Merci pour votre aide.

 

Franck

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Récuperer id du child produit selectionné dans la page détail produit configurable

@francksub 

Try the below code on product page

 

 

requirejs(['jquery','underscore'], function(jQuery,_){

jQuery( ".product-options-wrapper div" ).click(function() {
var selected_options = {};
    jQuery('div.swatch-attribute').each(function(k,v){
        var attribute_id    = jQuery(v).attr('attribute-id');
        var option_selected = jQuery(v).attr('option-selected');
        //console.log(attribute_id, option_selected);
        if(!attribute_id || !option_selected){ return;}
        selected_options[attribute_id] = option_selected;
    });

 

    var product_id_index = jQuery('[data-role=swatch-options]').data('mageSwatchRenderer').options.jsonConfig.index;
    var Allfound_ids = [];
    var currentId = null;
    jQuery.each(product_id_index, function(product_id,attributes){
        var productIsSelected = function(attributes, selected_options){
            return _.isEqual(attributes, selected_options);
        }
        if(productIsSelected(attributes, selected_options)){
            Allfound_ids.push(product_id);
            currentId = product_id;
        } 
    });
    //console.log(Allfound_ids);
    console.log(currentId);
});
});

 

 

Problem solved? Click Kudos and "Accept as Solution".
200+ Magento 2 Extensions for Enhanced Shopping Experience.

View solution in original post

2 REPLIES 2

Re: Récuperer id du child produit selectionné dans la page détail produit configurable

@francksub 

Try the below code on product page

 

 

requirejs(['jquery','underscore'], function(jQuery,_){

jQuery( ".product-options-wrapper div" ).click(function() {
var selected_options = {};
    jQuery('div.swatch-attribute').each(function(k,v){
        var attribute_id    = jQuery(v).attr('attribute-id');
        var option_selected = jQuery(v).attr('option-selected');
        //console.log(attribute_id, option_selected);
        if(!attribute_id || !option_selected){ return;}
        selected_options[attribute_id] = option_selected;
    });

 

    var product_id_index = jQuery('[data-role=swatch-options]').data('mageSwatchRenderer').options.jsonConfig.index;
    var Allfound_ids = [];
    var currentId = null;
    jQuery.each(product_id_index, function(product_id,attributes){
        var productIsSelected = function(attributes, selected_options){
            return _.isEqual(attributes, selected_options);
        }
        if(productIsSelected(attributes, selected_options)){
            Allfound_ids.push(product_id);
            currentId = product_id;
        } 
    });
    //console.log(Allfound_ids);
    console.log(currentId);
});
});

 

 

Problem solved? Click Kudos and "Accept as Solution".
200+ Magento 2 Extensions for Enhanced Shopping Experience.

Re: Récuperer id du child produit selectionné dans la page détail produit configurable

Bonjour @Sanjay Jethva ,

 

Merci pour cette réponse qui après quelques modifications me retourne bien l'id du produit.