Jump to content

[Résolu] Declinaison et recapitulatif de commande


Recommended Posts

Bonsoir,
J'ai un petit souci, je souhaite utiliser les déclinaisons.
RAS dans le BO.
RAS dans la fiche produit.
Mais si j'ajoute a mon panier deux déclinaisons du même produit, par exemple, un bleu et un rouge.
Dans mon récapitulatif panier, j'ai deux fois le cadre " Dernier produit ajouté ", une fois avec mon produit en rouge, une fois avec mon produit en bleu.
Si j'ajoute une 3eme déclinaison,, j'aurais une troisième fois " Dernier produit ajouté".
J'utilise la V1.1, et j'ai le même problème avec le thème de base.
J'ai egalement constaté ce bug sur un site en prod " http://www.ann-secrets.com" (j'espere qu'ils ne m'en voudront pas d'avoir fait un test sur leur boutique!!!)

sur " http://chatel.pshopexpert.com " on peut constater le meme bug

Merci d'avance pour vos éclaircissement

Link to comment
Share on other sites

Bonjour,

Résolu sur version 1.1.0.5

Voici les modifications à apporter dans votre code.

Dans le fichier : classes/Cart.php
Modifier la methode : getLastProduct()

Rempalcer :

public function getLastProduct()
   {
       $sql = '
           SELECT `id_product`
           FROM `'._DB_PREFIX_.'cart_product`
           WHERE `id_cart` = '.intval($this->id).'
           ORDER BY `date_add` DESC';
       $result = Db::getInstance()->GetRow($sql);
       if ($result AND isset($result['id_product']) AND $result['id_product'])
           return $result['id_product'];
       return false;
   }



Par :

public function getLastProduct()
   {
       $sql = '
           SELECT `id_product`, `id_product_attribute`
           FROM `'._DB_PREFIX_.'cart_product`
           WHERE `id_cart` = '.intval($this->id).'
           ORDER BY `date_add` DESC';
       $result = Db::getInstance()->GetRow($sql);
       if ($result AND isset($result['id_product']) AND $result['id_product'])
       {
           $last_product['id_product'] = $result['id_product'];
           $last_product['id_product_attribute'] = $result['id_product_attribute'];
           return $last_product;
           //return $result['id_product'];
       }
       return false;
   }




Ensuite dans le fichier : themes/prestashop/shopping-cart.tpl

Modifier :

{if $product.id_product == $lastProductAdded}



Par :

{if $product.id_product == $lastProductAdded.id_product}
         {* Ajout gestion des déclinaisons des produits *}
         {if $product.id_product_attribute == $lastProductAdded.id_product_attribute}



Ne pas oublier de fermer le "if" qui à été rajouté : {/if}

Voila, jespere que ça seras bon aussi pour vous.

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