Naylou Posted November 6, 2019 Share Posted November 6, 2019 (edited) Bonjour, Je viens vers vous concernant une idée que je souhaiterai mettre en application sur mon site e-commerce. N'étant pas développeuse, je pense que vous pourrez aisément me renseigner sur la façon de mettre en forme cette idée. Sur mon site actuel, je n'affiche pas les prix pour les visiteurs et invités mais ils s'affichent seulement pour les gens inscrits et connectés. Je souhaiterai mettre une phrase qui s'affichent seulement quand les prix ne sont pas affichés, du type : Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente. En gros, je pense que ce serait une ligne de code dans ce genre là : if(prix == true){ echo "Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."; }else{ echo ""; } Pouvez-vous m'aider svp? Je souhaiterai mettre en place cette phrase sur la fiche produit et en page d'accueil au niveau du module slide des produits. En vous remerciant par avance. Edited November 6, 2019 by Naylou (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted November 6, 2019 Share Posted November 6, 2019 (edited) {if !$logged}{l s="Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."}{/if} Dans les .tpl de votre thème Edited November 6, 2019 by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Naylou Posted November 6, 2019 Author Share Posted November 6, 2019 Merci Eolia, pouvez-vous juste m'expliquer cette partie : {l s Je vais tester cela.Merci. Link to comment Share on other sites More sharing options...
Eolia Posted November 6, 2019 Share Posted November 6, 2019 cette partie rend votre champ texte traduisible dans les traductions du front office. Link to comment Share on other sites More sharing options...
Naylou Posted November 6, 2019 Author Share Posted November 6, 2019 D'accord merci ! Je vais tester ce petit bout de code de ce pas 😉 Link to comment Share on other sites More sharing options...
Naylou Posted November 6, 2019 Author Share Posted November 6, 2019 Alors je viens de tester. J'ai mis ca dans la fiche produit : {block name='product_info_prix'} <div>{if !$logged}{l s="Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."}{/if}</div> {/block} La phrase s'affiche bien en revanche elle reste affichée quand on est connecté. Ai-je loupé quelque chose? Link to comment Share on other sites More sharing options...
Eolia Posted November 6, 2019 Share Posted November 6, 2019 heu... version Prestashop svp ? De la version 1.2 à 1.6 le code est clair dans le frontController: $this->context->smarty->assign(array( 'id_currency_cookie' => (int)$currency->id, 'logged' => $this->context->customer->isLogged(), 'customerName' => ($this->context->customer->logged ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : false) )); essayez avec celle-ci qui fonctionne aussi dans les versions plus récentes: is_logged (à la place de logged) {block name='product_info_prix'} <div>{if !$is_logged}{l s="Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."}{/if}</div> {/block} Link to comment Share on other sites More sharing options...
Naylou Posted November 7, 2019 Author Share Posted November 7, 2019 Ah oui pardon, la version c'est la 1.7.6.1. D'accord, je vais tester pour voir 😉 Link to comment Share on other sites More sharing options...
Naylou Posted November 7, 2019 Author Share Posted November 7, 2019 Aucun changement, la phrase s'affiche mais quand on est connecté au site, la phrase reste. Pour information (on ne sait jamais 😉😞 J'avais caché les prix pour les visiteurs et les invités. et je mets mon block dans mon fichier theme/mon-theme/templates/catalog/product.tpl : {block name='product_info_prix'} <div>{if !$is_logged}{l s="Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."}{/if}</div> {/block} Link to comment Share on other sites More sharing options...
Eolia Posted November 7, 2019 Share Posted November 7, 2019 bah ce n'est pas logique car la variable $logged existe bien en 1.7 pourtant... Link to comment Share on other sites More sharing options...
Naylou Posted November 7, 2019 Author Share Posted November 7, 2019 Je le place peut-etre au mauvais endroit, je le place en dessous de "product_prices", product-information" : Quote {block name='product_prices'} {include file='catalog/_partials/product-prices.tpl'} {/block} <div class="product-information"> {block name='product_description_short'} <div id="product-description-short-{$product.id}" itemprop="description">{$product.description_short nofilter}</div> {/block} {block name='product_info_prix'} <div>{if !$is_logged}{l s="Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."}{/if}</div> {/block} {if $product.is_customizable && count($product.customizations.fields)} {block name='product_customization'} {include file="catalog/_partials/product-customization.tpl" customizations=$product.customizations} {/block} {/if} Link to comment Share on other sites More sharing options...
Eolia Posted November 7, 2019 Share Posted November 7, 2019 Non, ça devrait fonctionner mais avec les 1.7 il faut s'attendre à tout, donc.... Désolé de ne pouvoir vous aider plus. Sur 1.6 ca fonctionne parfaitement: Connecté: Pas connecté: Link to comment Share on other sites More sharing options...
Naylou Posted November 7, 2019 Author Share Posted November 7, 2019 (edited) Aucun soucis, vous avez essayé de m'aider, c'est très gentil :-). et ce code qui est prévu pour les versions antérieures, ne fonctionnerait pas sur la 1.7.6.1 du coup? $this->context->smarty->assign(array( 'id_currency_cookie' => (int)$currency->id, 'logged' => $this->context->customer->isLogged(), 'customerName' => ($this->context->customer->logged ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : false) )); Edited November 7, 2019 by Naylou (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted November 7, 2019 Share Posted November 7, 2019 Sinon il y a des modules pour ça (comme par exemple https://addons.prestashop.com/fr/gestion-prix/22531-cacher-les-prix-facilement.html) N'oubliez pas que le prix ne s'affiche pas que sur la page produit, mais aussi les pages catégories, recherche, nouveaux produits, promotions, meilleurs ventes, aperçu rapide, sur d'autres modules. vous avez des caches qui sont activés ? (dans paramètres avancés > performances) Link to comment Share on other sites More sharing options...
Eolia Posted November 7, 2019 Share Posted November 7, 2019 en 1.7.6.1 le code a changé $customer.is_logged Link to comment Share on other sites More sharing options...
doekia Posted November 7, 2019 Share Posted November 7, 2019 En 1.7, le code qui marchait des 1.6 ne marche plus et en 1.7.6.1, le code qui marchait des 1.7 ne marche plus. Tout un programme 1 Link to comment Share on other sites More sharing options...
Naylou Posted November 7, 2019 Author Share Posted November 7, 2019 D'accord. coeos.pro : en fait, j'ai caché les prix partout pour les personnes qui ne sont pas connectées. Je voulais juste afficher une petite phrase quand les prix sont cachés pour les inciter à se connecter/s'inscrire, et une fois la personne connectée, les prix s'affichent mais la phrase elle ne s'affiche plus car n'a plus lieu d'être. Cette version 1.7.6.1 m'a l'air vraiment très complexe... Link to comment Share on other sites More sharing options...
coeos.pro Posted November 7, 2019 Share Posted November 7, 2019 Je ne dirais pas complexe mais différente. Sinon tu peux toujours afficher en bandeau en haut ou en bas de l'écran pour afficher ton message comme ça il sera là sur toutes les pages et tu peux même rajouter un lien vers la page d inscription sur ce bandeau Link to comment Share on other sites More sharing options...
Naylou Posted November 7, 2019 Author Share Posted November 7, 2019 Oui mais du coup le bandeau resterait visible même quand les gens sont connectés et dans ce cas la elle est inutile... pas simple l'histoire 😄 Link to comment Share on other sites More sharing options...
coeos.pro Posted November 7, 2019 Share Posted November 7, 2019 non tu le codes dans le footer avec {if $customer.is_logged}... Link to comment Share on other sites More sharing options...
Eolia Posted November 7, 2019 Share Posted November 7, 2019 il y a 40 minutes, Naylou a dit : en fait, j'ai caché les prix partout pour les personnes qui ne sont pas connectées. ben il suffit de cocher ça hein pour les cacher^^ Link to comment Share on other sites More sharing options...
coeos.pro Posted November 7, 2019 Share Posted November 7, 2019 c'est certainement ce qu'elle a fait, mais elle veut afficher un message "connectez vous pour voir les prix" pour que les visiteurs ne se disent pas c'est juste une vitrine, on ne peut pas commander. Link to comment Share on other sites More sharing options...
Eolia Posted November 7, 2019 Share Posted November 7, 2019 J'ai compris j'ai fait la même chose sur mon shop de dev (voir screens plus haut) Mais dans son cas le $customer.is_logged doit fonctionner vu qu'il est assigné dans le frontController de la 1.7 si pas loggé message. Link to comment Share on other sites More sharing options...
Naylou Posted November 8, 2019 Author Share Posted November 8, 2019 oui c'est bien ce que j'ai fait, cacher les prix pour les visiteurs et les invités, 😉 dans le back-office client-> groupes. Link to comment Share on other sites More sharing options...
Eolia Posted November 8, 2019 Share Posted November 8, 2019 et vous avez mis {!$customer.is_logged} dans votre tpl ? Link to comment Share on other sites More sharing options...
Naylou Posted November 8, 2019 Author Share Posted November 8, 2019 Ouiiiiiiiiiiiiiiiii youpi ca fonctionne !!!! en effet, c'était un oubli de ma part, j'en suis fortement désolée 🤐 Le bout de code rajouté est donc : Quote {block name='product_prices'} {include file='catalog/_partials/product-prices.tpl'} {/block} <div class="product-information"> {block name='product_description_short'} <div id="product-description-short-{$product.id}" itemprop="description">{$product.description_short nofilter}</div> {/block} {block name='product_info_prix'} <div>{if !$customer.is_logged}{l s="Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."}{/if}</div> {/block} {if $product.is_customizable && count($product.customizations.fields)} {block name='product_customization'} {include file="catalog/_partials/product-customization.tpl" customizations=$product.customizations} {/block} {/if} Merci beaucoup !!!!! Link to comment Share on other sites More sharing options...
Eolia Posted November 8, 2019 Share Posted November 8, 2019 Ben c'est pas trop tôt^^ Link to comment Share on other sites More sharing options...
Naylou Posted November 8, 2019 Author Share Posted November 8, 2019 🤣 Merci à vous tous ! Link to comment Share on other sites More sharing options...
pedromen Posted February 10, 2022 Share Posted February 10, 2022 (edited) Bonjour, Je relance ce sujet. J'ai bien ajouté le code : Quote {block name='product_info_prix'} <div>{if !$customer.is_logged}{l s="Merci de bien vouloir vous identifier afin de voir s'afficher nos prix de vente."}{/if}</div> {/block} J'ai 3 langues sur mon site, comment faire pour que le texte soit traduit. PS 1.7.8.3 Merci d'avance Edited February 10, 2022 by pedromen (see edit history) 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