Jump to content

Condition affichage des prix


Recommended Posts

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 by Naylou (see edit history)
Link to comment
Share on other sites

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

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

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

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

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 by Naylou (see edit history)
Link to comment
Share on other sites

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

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

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

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

  • 2 years later...

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 by pedromen (see edit history)
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...