Jump to content

Afficher le même prix sur la page d'accueil et sur la page produit (Pris dégressifs)


Recommended Posts

Bonjour,

Tout d'abord je vous informe que je suis sous la version 1.7 de prestashop. J'utilise un thème nommé ZOneTheme.
J'ai un problème sur l'affichage de mes prix qui est différent entre la page produit et la page d'accueil, je vous explique.

Les prix de ma page produit se présentent comme ceci

prix_produit.png.a00fa9b30cd111fc6dc3abd99f25350c.png

Cela convient parfaitement car le prix (en rouge) HT est celui que l'on veut afficher : le prix HT le moins cher des prix dégressifs. Celui-ci est affiché grâce au code ci-dessous :

                    {block name='product_price_and_shipping'}
                      {if $product.show_price}
                      {assign var="quantity_discounts" value=$product.quantity_discounts}

                        {assign var='mini_wtax' value=$product.price}
                        {assign var="mini_price" value=$product.price_tax_exc}
                        {assign var='compt_custom' value=1}

                        {section name=quantity_discount loop=$quantity_discounts step=-1}
                          {if $quantity_discounts[quantity_discount].price != 0 OR $quantity_discounts[quantity_discount].reduction_type == 'amount'}
                              {assign var='prixProduct' value=$product.quantity_discounts[quantity_discount].price|floatval}
                              {assign var='prixProductw' value=($product.price - $quantity_discounts[quantity_discount].real_value)|floatval}
                              {if $prixProduct < $mini_price}
                              {assign var='mini_price' value=$prixProduct}
                              {assign var='mini_wtax' value=$prixProductw}
                              {/if}
                          {/if}
                          {$compt_custom = 2}
                        {/section}

                        {$mini_wtax = $mini_price * $product.price / $product.price_tax_exc}

                        {$taux_tax = 1.2}

                        <div class="product-price-and-shipping flex-wrap align-items-center" itemprop="offers" itemscope itemtype="https://schema.org/Offer">
                          <div class="first-prices flex-wrap align-items-center">
                            {hook h='displayProductPriceBlock' product=$product type="before_price"}
                            <span class="price product-price" itemprop="price" content="{$product.price_amount}">
                              <p style="font-size:12px; color: black;"> A partir de: </p>
                              {Tools::displayPrice($mini_price|floatval)} HT
                              <p style="font-size:12px; color: lightgrey;"> soit :   {Tools::displayPrice($mini_price * $taux_tax|floatval)}  TTC</p>
                          </div>

Cela fonctionne très bien sur notre page produit, seulement nous affichons aussi des produits sur la page d'accueil (product-home-grid.tpl) et sur les produits des différentes catégories (miniatures/product.tpl). Sur ces produits, le prix HT affiché n'est pas le même : prestashop affiche le prix HT le plus cher (des prix dégressifs) au lieu du moins cher.

Là ou le prix du produit affiché est 49,90€ on devrait avoir le même prix que sur la page produit soit 42,90€.

prix_compar.png.aa74058c1b687b9f454a32583233101d.png

Je pense que le problème viens du fait que depuis la page d'accueil il n'arrive pas à récupérer les informations des "quantity_discounts" ce qui fait que le prix est donc le prix de base du produit alors qu'il nous faut afficher son prix HT le moins cher en rapport aux prix dégressifs. 

Je ne sais pas comment résoudre ce problème, y aurait-il une âme charitable pouvant m'aider s'il vous plait ?

Je vous remercie, 
Tristan Matteoli.

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 years later...

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