Xav5402 Posted February 7, 2021 Share Posted February 7, 2021 Bonjour, Je suis actuellement sous Prestashop 1.7.7.1. Mon site vend des motif pour machine à broder, il s'agit donc de produits dématérialisés. Le but est de rappeler au client qu'il a déjà acheté ce produit et ainsi lui éviter un achat doublon. J'ai recherché dans le forum mais je n'ai pas trouvé de sujet pouvant m'aider. En m'aidant d'un site internet j'avais réussi à obtenir l'affichage d'un message informant de la date d'achat d'un produit mais je me suis rendu compte que ce message s'affichait à l'identique (date identique) sur TOUTES les fiches articles. Ce n'est évidemment pas le but recherché. Ce que je veux c'est que le message ne s'affiche que le cas échéant pour un article effectivement déjà acheté. Pour obtenir ce premier résultat, imparfait, j'avais suivi les conseils de ce site : https://www.majory-cubizolles.fr/blog/ajouter-produit-deja-achete-page-produit-prestashop-1-6/ Il s'agissait de créer un override avec un fichier ProductController.PHP qui contenait le code suivant : <?php Class ProductController extends ProductControllerCore { public function initContent() { if($this->context->customer->id) // only if logged in { $bought_products = $this->context->customer->getBoughtProducts(); // only valid orders if($bought_products) { foreach ($bought_products as $prod) { if($prod['product_id'] = $this->product->id) { $this->context->smarty->assign(array( 'bought_on'=> $prod['date_add'] )); } } } } parent::initContent(); } } Ensuite il fallait vider le cache et notamment effacer le fichier class_index.php Enfin il fallait modifier la fiche article (themes/nomdevotretheme/product.tpl) en insérant à l'endroit voulu le code : {if isset($bought_on)} <div class="col-xs-12"> <div class="bought_on alert alert-info"> {l s='You purchased this product on'} {dateFormat date=$bought_on} </div> </div> {/if} J'avais préféré "innover" en insérant ce code dans le fichier "product-and-to-cart.tpl" de manière a ce que l'information de la date d'achat figure à proximité immédiate du bouton "ajouter au panier" Etant donné que le résultat obtenu n'est pas celui escompté, quelqu'un pourrait il m'aider car je patauge un peu là pour le coup ! Merci. Xav. Link to comment Share on other sites More sharing options...
Xav5402 Posted February 7, 2021 Author Share Posted February 7, 2021 Bon hé bien j'ai trouvé. Il y a une erreur dans l'override ProductController.php Il faut remplacer : 1 hour ago, Xav5402 said: if($prod['product_id'] = $this->product->id) Par : if($prod['product_id'] == $this->product->id) Après avoir testé, tout semble fonctionner comme voulu. J'ai donc résolu mon problème moi-même (Avec l'aide d'internet ). Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now