Jump to content

Rendre La Sélection D'une Déclinaison Obligatoire Excepté Sur Une Catégorie


Recommended Posts

Bonjour,

 

J'ouvre ce nouveau sujet car après plusieurs jours de recherche et d'essai, je n'arrive toujours pas à faire ce que je souhaite. 

 

Je reprends la base du problème. Je souhaite rendre obligatoire le choix d'une seule déclinaison avant l'ajout au panier mais pas sur toutes mes catégories de produits. Je poste le code réadapté de Skygraphism:

 

Etape 1: themes\default-bootstrap\js\product.js:

 

1. Tout en haut du fichier, après  var colors = []; ajouter la ligne suivante :

 

var combinationAttrSelected = false;
 

2. Scrollez plus bas, pour moi c'est vers la ligne 265 et remplacez le code suivant:

  1.  
    $(document).on('change', '.attribute_select', function(e){
    e.preventDefault();
    findCombination();
    getProductAttribute();
    });    

par


$(document).on('change', '.attribute_select', function(e){
e.preventDefault();
findCombination();
getProductAttribute();
combinationAttrSelected = true;
});
 

Etape 2: themes\default-bootstrap\js\modules\block-cart\ajax-cart.js:

 

Trouver la ligne suivante, pour moi c'est vers la ligne 144:

  1.         //for product page 'add' button...       
     $(document).on('click', '#add_to_cart button', function(e){
                e.preventDefault();
                ajaxCart.add($('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null);
            });

et remplacer par:

 

//for product page 'add' button...
$(document).on('click', '#add_to_cart button', function(e){
e.preventDefault();
if ( !combinationAttrSelected)
                       {
  alert('Merci de sélectionner un type ou une couleur.');
}
                        else
       ajaxCart.add($('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null);
});
 
 
Voilà! Avec ce code j'empêche l'ajout au panier de mon produit avec sa déclinaison par défaut mais comment faire pour désactiver cette alerte sur ma catégorie 20 par exemple? Faut-il aller voir dans le product.tpl? J'ai essayé beaucoup de choses mais toujours pas la solution. 
 
Merci.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...