aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    [1.6.X.X] Le module loyalty s'affiche sur les articles en promotion

    Planifier Épinglé Verrouillé Déplacé BUG connus
    1.6modulefront-officebug
    2 Messages 1 Publieurs 1.0k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • O Hors-ligne
      okom3pom legacy
      dernière édition par doekia

      Le module loyalty affiche des points de fidélité sur les articles en promotion alors que dans le backoffice il est coché ne pas donner de points aux articles en promotion.

      Prestashop compare une variable avec parseInt qui retourne donc un nombre entier.

      Ca fonctionne de nouveau pour les versions de theme > 1.6.1.0 avec

      https://github.com/PrestaShop/PrestaShop/pull/8791

      Autre solution qui fonctionnera en 1.6.0.X ( @doekia )

      Ajouter dans le tpl

      {addJsDef no_pts_discounted=$no_pts_discounted}
      

      Remplacer :

      if (typeof(new_price) == 'undefined' || typeof(productPriceWithoutReduction) == 'undefined')
      

      Par

      if (typeof(new_price) == 'undefined' || typeof(productPriceWithoutReduction) == 'undefined' || no_pts_discounted == 1)
      
      1 réponse Dernière réponse Répondre Citer 1
      • O Hors-ligne
        okom3pom legacy
        dernière édition par

        Pour les versions 1.6.1.X

        $(document).ready(function() {
        	$(document).on('change', '#our_price_display', function(e){
        		updateLoyaltyView(priceWithDiscountsDisplay);
        	})
        	updateLoyaltyView(priceWithDiscountsDisplay);
        });
        
        function updateLoyaltyView(new_price) {
        	if (typeof(new_price) == 'undefined' || typeof(productPriceWithoutReduction) == 'undefined')
        		return;
        
        	var points = Math.floor(new_price / point_rate);
        	var total_points = points_in_cart + points;
        	var voucher = total_points * point_value;
        
        	if (none_award == 0 && productPriceWithoutReduction != new_price) {
        		$('#loyalty').html(loyalty_already);
        	}
        	else if (!points) {
        		$('#loyalty').html(loyalty_nopoints);
        	}
        	else
        	{
        		var content = loyalty_willcollect + " <b><span id=\"loyalty_points\">"+points+'</span> ';
        		if (points > 1)
        			content += loyalty_points + "</b>. ";
        		else
        			content += loyalty_point + "</b>. ";
        
        		content += loyalty_total + " <b><span id=\"total_loyalty_points\">"+total_points+'</span> ';
        		if (total_points > 1)
        			content += loyalty_points;
        		else
        			content += loyalty_point;
        
        		content += '</b> ' + loyalty_converted + ' ';
        		content += '<span id="loyalty_price">'+formatCurrency(voucher, currencyFormat, currencySign, currencyBlank)+'</span>.';
        		$('#loyalty').html(content);
        	}
        }
        

        Fonctionne également si un produit à une remise que sur une déclinaison.

        1 réponse Dernière réponse Répondre Citer 0
        • Premier message
          Dernier message
        bug
        26 sujets
        1.6
        24 sujets
        front-office
        11 sujets
        1.5
        8 sujets
        1.7
        5 sujets
        système
        4 sujets
        administration
        3 sujets
        hack
        3 sujets
        module
        3 sujets
        performance
        3 sujets
        smtp
        3 sujets
        transporteurs
        3 sujets
        dashboard
        2 sujets
        https
        2 sujets
        paypal
        2 sujets
        promotions
        2 sujets