Jump to content

Tuto montant restant pour avoir la livraison gratuite dans le panier


Recommended Posts

Bonjour j'ai repris des commentaires que j'avais trouvés sur le forum anlais pour prestashop 1.5 et j'ai regardé a l'installer en faisant peu de transformation.

Je l'ai installé sur 1.606 et il fonctionne super bien

-Mes indications dans le panier montre le montant restant à commander pour avoir la livraison gratuite.et pas besoin de régénérer la page.

 

Je ne suis pas développeur et j'ai du mal en php,donc il y à peut être des modifications à faire

 

Dans le fichier "blockart.php" du module blockcart environ à la ligne 129:

         'total' => Tools::displayPrice($totalToPay, $currency),

 

Coller ces deux lignes en dessous:

 

        'shipping_free_price' => Tools::displayPrice($shipping_free_price),

         'amount_until_free_shipping' => Tools::displayPrice($shipping_free_price - $params['cart']-     >getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING)),

 

 

Après dans le même fichier environ à la ligne 72:

          $totalToPay = $params['cart']->getOrderTotal($useTax);

 

coller cette ligne en dessous:

 

          :$shipping_free_price= Tools::convertPrice((float)(Configuration::get('PS_SHIPPING_FREE_PRICE')), $currency);

 

 

 

 

Maintenant dans le fichier "blockart-json.tpl" environ à la ligne 101:

           "total": {$total|json_encode},

 

Coller ces trois lignes en dessous:

 

      "amount_until_free_shipping" : "{$amount_until_free_shipping|html_entity_decode:2:'UTF-8'}",

      "product_total": "{$product_total|html_entity_decode:2:'UTF-8'}",
      "shipping_free_price": "{$shipping_free_price|html_entity_decode:2:'UTF-8'}",
 
Maintenant dans le ficher"blockcart.tpl" environs à la ligne 206:
      <p class="cart-buttons">
 
Coller au dessus:
 
   {If $shipping_free_price> 0}
          <div class="amount_fee_shipping">
                 <div align="center"> 
                 <span class = "ajax_shipping_free_price_span {if ($amount_until_free_shipping) <= 0} hidden{/if}">{l s='Les frais de port seront gratuit si vous passez une commande supplémentaire de:'} <span class="ajax_shipping_free_price">{$amount_until_free_shipping}</span> {l s='profitez en bien! '}</span>
                     <span class = "ajax_shipping_free_price_free_span {if ($amount_until_free_shipping) > 0} hidden {/if}">{l s='Votre panier s'élève au moins à:'} <span class="ajax_shipping_free_price_free">{$shipping_free_price}</span> {l s='Félicitation vous avez gagné la livraison gratuite!!!!'}
                    </div>
             </div>
      {/if}
 
Maintenant dans le fichier thêmes/votre thême/js/modules/blockart/ajax-cart.js environ à la ligne 766:
    $('.ajax_block_cart_total').text(jsonData.total);
 
Coller en dessous:
$('.ajax_shipping_free_price').text(jsonData.amount_until_free_shipping);
if (parseFloat(jsonData.amount_until_free_shipping) > 0)
{
     $('.ajax_shipping_free_price_span').each( function() {
           $(this).removeClass('hidden');
     });
     $('.ajax_shipping_free_price_free_span').each( function() {
           $(this).addClass('hidden');
      });
 }
 else
 {
       $('.ajax_shipping_free_price_span').each( function() {
               $(this).addClass('hidden');
        });
       $('.ajax_shipping_free_price_free_span').each( function() {
                $(this).removeClass('hidden');
        });
 }
 
Voila fini pour protéger des mise à jour copier coller les fichiers transformé dans thême/votre thême/modules/blockart.  sauf le fichier blockart.php qui peut être modiffié lors du mise à jour alors faire attention.
D'autre part nous pouvons donner une couleur au texte,il suffit par exemple de coller ce code dans votre global.css:
.amount_fee_shipping {
  color: #bca36b;
}
 
Merci.
 
             

    

Link to comment
Share on other sites

Hello, 

 

Bonne année ;)

 

votre astuce fonctionne t-elle avec une règle de promotion ( style bon de réduction ? ) ou alors avec : ( dans livraison / préférence ) livraison gratuite à partir de x ? ou alors avec les 2 ?

 

Bien à vous, 

Link to comment
Share on other sites

Hello, 

 

Bonne année ;)

 

votre astuce fonctionne t-elle avec une règle de promotion ( style bon de réduction ? ) ou alors avec : ( dans livraison / préférence ) livraison gratuite à partir de x ? ou alors avec les 2 ?

 

Bien à vous, 

Bonjour je viens d"essayer pour la livraison gratuite à partir de x euros 'réglage dans le bo livraison/préférences' cela fonctionne.

Création d'un bon de réduction à partir du module natif de prestashop , cela fonctionne nickel , les frais de livraison seront facturés ci le prix nominal n'est pas égal au réglage paramétré dans le bo 'livraison/préférence'

Je pense avoir répondu à votre question.

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...