Cacher le prix av de s'identifier

22 posts in this topic

Posted · Report post

Bonjour,

je souhaiterai que les prix du site ne s'affichent seulement si l'on est inscrit ou identifié

Comment puis je faire merci

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Au moment d'afficher le prix, il suffit de faire un test pour vérifier si l'utilisateur est connecté ou non. Pour cela, il existe une fonction sur peel : "est_identifie()"

Dans le code, cela donnerait quelque chose comme :

( ( est_identifie() ) ? affiche_prix($prod['id']) : 'Vous devez être connecté pour voir les prix' );

A adapter suivant votre version de peel.

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

je suis interesser par la meme fonction, merci pour cette reponse, mais je ne sais pas ou l'integrer dans peel. ?

merci de votre reponse, pour info jutilise PEEL PREMIUM 3.9

Merci d'avance

RM

Bonjour,

Au moment d'afficher le prix, il suffit de faire un test pour vérifier si l'utilisateur est connecté ou non. Pour cela, il existe une fonction sur peel : "est_identifie()"

Dans le code, cela donnerait quelque chose comme :

( ( est_identifie() ) ? affiche_prix($prod['id']) : 'Vous devez être connecté pour voir les prix' );

A adapter suivant votre version de peel.

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Il faut regarder dans votre code partout où la fonction "affiche_prix()" est utilisée.

En regardant le code d'une 5.9, il semblerait que cette fonction est appelée à 2 endroits :

  • achat\modeles\produit_details.php
  • modeles\default\template.php

Share this post


: post
Share on other sites

Posted · Report post

Bonjour ,

pour commencer merci de m'avoir repondu,

par contre je n'arrive pas du tout à mettre ceci en application.

Comment m'y prendre?

Pouvez vous me donner le code svp attaché avec la fonction affiche_prix()

Car je n'arrive pas du tout.

Merci d'avance

ps: desole de mon insistance

Bonjour,

Il faut regarder dans votre code partout où la fonction "affiche_prix()" est utilisée.

En regardant le code d'une 5.9, il semblerait que cette fonction est appelée à 2 endroits :

  • achat\modeles\produit_details.php
  • modeles\default\template.php

Share this post


: post
Share on other sites

Posted · Report post

Bonjour rcconsulting,

Il vous faudrait tout d'abord, si ce n'estp as encore le cas, télécharger un éditeur PHP qui possède une fonction de recherche dans un répertoire, je vous propose d'utiliser notepad ++, q ui est gratuit, et qui conviendra parfaitement.

Puis utilisez la fonction de recherche dans le répertoire qui contient le code de votre site (en local, bien entendu), et recherchez : affiche_prix(

Puis , aux endroits trouvés, remmplacez les appels à affiche_prix() par le code proposé par mon collègue Arnaud :

( ( est_identifie() ) ? affiche_prix($prod['id']) : 'Vous devez être connecté pour voir les prix' );

Share this post


: post
Share on other sites

Posted · Report post

Bonjour rcconsulting,

Il vous faudrait tout d'abord, si ce n'estp as encore le cas, télécharger un éditeur PHP qui possède une fonction de recherche dans un répertoire, je vous propose d'utiliser notepad ++, q ui est gratuit, et qui conviendra parfaitement.

Puis utilisez la fonction de recherche dans le répertoire qui contient le code de votre site (en local, bien entendu), et recherchez : affiche_prix(

Puis , aux endroits trouvés, remmplacez les appels à affiche_prix() par le code proposé par mon collègue Arnaud :

( ( est_identifie() ) ? affiche_prix($prod['id']) : 'Vous devez être connecté pour voir les prix' );

Bonjour,

Bon j'ai testé le fait d'intégrer le code , donc pas de problème les prix ne s'affichent plus , mais la pahrase non plus !... ;)

Lorsque je me connecte en admin patatra à la place des prix j'ai : Notice: Undefined variable: prod in template.php on line 785

Oh puré la galère :( ....de plus le caddie lui reste avec les prix , ainsi que la page " produits à la une "

Une petite aide pour que tout rentre dans l'ordre serait sympas ;)

lionel

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Lionel20...

Une petite erreur dans ma ligne de code :

( ( est_identifie() ) ? affiche_prix($prod['id']) : 'Vous devez être connecté pour voir les prix' );

---> Écrivez plutôt :

if ( est_identifie() ) {

affiche_prix($prod['id'])

}else{

echo 'Vous devez être connecté pour voir les prix';

}

Ceci affichera la phrase pour les personnes non logguées.

Par contre , le code est à adapter suivant la page sur laquelle vous implémentez le code...Il faut remplacer $prod['id'] par l'id du produit tel qu'il est défini dans le code pHP édité.

Cordialement,

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Lionel20...

Une petite erreur dans ma ligne de code :

( ( est_identifie() ) ? affiche_prix($prod['id']) : 'Vous devez être connecté pour voir les prix' );

---> Écrivez plutôt :

if ( est_identifie() ) {

affiche_prix($prod['id'])

}else{

echo 'Vous devez être connecté pour voir les prix';

}

Ceci affichera la phrase pour les personnes non logguées.

Par contre , le code est à adapter suivant la page sur laquelle vous implémentez le code...Il faut remplacer $prod['id'] par l'id du produit tel qu'il est défini dans le code pHP édité.

Cordialement,

Merci jean-hervé ,

Sachant qu'il y as X produits , il faut remplacer l'id pour chacun des produits dans chacune des pages ou il se situe ???

je sais pas si je m'exprime bien , quand je remplace "affiche-prix" il faut que je le fasse et que j'intégre le code avec l'id correspondant au produit ??

Merci pour ta réponse

cordialement

lionel

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Lionel,

Non, ce que je voulais dire est que par exemple, sur la page de détails produits, le code

if ( est_identifie() ) {

affiche_prix($prod['id'])

}else{

echo 'Vous devez être connecté pour voir les prix';

}

MAis sur d'autres, l'id du produit ne sera pas nécessairement dans une variable $prod['id'] et vous aurez donc le log d'erreur : Notice: Undefined variable: prod

Il faut adapter le code, par exemple si l'id du produit, pour une page donnée, est passé dans l'URL avec le nom id, en

if ( est_identifie() ) {

affiche_prix($_GET['id'])

}else{

echo 'Vous devez être connecté pour voir les prix';

}

Cordialement,

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Lionel,

Non, ce que je voulais dire est que par exemple, sur la page de détails produits, le code

if ( est_identifie() ) {

affiche_prix($prod['id'])

}else{

echo 'Vous devez être connecté pour voir les prix';

}

MAis sur d'autres, l'id du produit ne sera pas nécessairement dans une variable $prod['id'] et vous aurez donc le log d'erreur : Notice: Undefined variable: prod

Il faut adapter le code, par exemple si l'id du produit, pour une page donnée, est passé dans l'URL avec le nom id, en

if ( est_identifie() ) {

affiche_prix($_GET['id'])

}else{

echo 'Vous devez être connecté pour voir les prix';

}

Cordialement,

Bonsoir jean-hervé,

merci pour ta réponse, mais ça dépasse un peux mes compétences techniques ;) ....merci à toi

j'ai juste compris que chaque produit à un id donné et donc il faut adapter l'id dans chacune des pages ou un produit apparaît pour avoir la pharse donné à la place du prix ???

On ne peux pas intégrer un id type pour l'ensemble des pages ou via le template, ou autre ??

cordialement

lionel

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Lionel,

Quand vous dites :

"haque produit à un id donné et donc il faut adapter l'id dans chacune des pages", c'est tout à fait vrai.

Mais suivant les différents fichiers constituant le code de votre site, l'ID du produit peut être écrit de manière différente, par exemple $prod['id'] s'il provient d'une recherche réalisée en Base de données, $_GET['id'] s'ile st passé par l'URL...

Cordialement,

Share this post


: post
Share on other sites

Posted · Report post

pour enleve le prix quant je suis pas connecte comment cela est possible avec la veriosion 6 de peel

merci

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Cette fonctionnalité de ne pas afficher les prix si on n'est pas connecté n'existe pas par défaut. Vous pouvez mettre un test si on est connecté à chaque appel de fprix que vous souhaitez retirer.

Gilles

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Au moment d'afficher le prix, il suffit de faire un test pour vérifier si l'utilisateur est connecté ou non. Pour cela, il existe une fonction sur peel : "est_identifie()"

Dans le code, cela donnerait quelque chose comme :

( ( est_identifie() ) ? affiche_prix($prod['id']) : 'Vous devez être connecté pour voir les prix' );

A adapter suivant votre version de peel.

Bonjour

j'ai la version 6.0.4 peel

je moccupe de 2 associations et parsqu-elle non pas le meme prix achat je souaiterais savoir comment cache les prix, et que par l'identification sur le portail, le site affiche l'un ou l'autre prix

Share this post


: post
Share on other sites

Posted · Report post

même question pour une 7.0.1 svp

Share this post


: post
Share on other sites

Posted · Report post

Pour afficher les prix uniquement aux utilisateurs connecté, vous pouvez définir une variable SMARTY dans la fonction affiche_produits du fichier lib\fonctions\display_product.php :
    $tpl->assign('est_identifie', est_identifie());
sous la ligne
        $tpl = $GLOBALS['tplEngine']->createTemplate('produits.tpl');
Ensuite, dans le fichier produits.tpl, il faut ajouter un test
{if ($est_identifie)}
                        <td colspan="2" class="fc_prix">{if isset($prod.on_estimate)}{$prod.on_estimate}{/if}</td>
{/if}

Share this post


: post
Share on other sites

Posted · Report post

bonjour

peel 7.0.1

 

comment afficher les prix seulement en page d’accueil " notre sélection "

 

je fait ceci et sa ne fonctionne pas

 

produit.tpl :

 

{if ($est_identifie)||($IN_HOME)}
<td class="fc_prix">{if isset($prod.on_estimate)}{$prod.on_estimate}{/if}</td>
{else} <span style="text-align:center; color: red;">{$STR_IDENTIFIEZ}</span>
{/if}
 
les prix sont bien cacher mais n’apparaisse pas en page d'accueil

 

merci 

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

 

pour pouvoir utiliser $IN_HOME dans le fichier produits.tpl, vous devez définir cette variable dans un premier temps dans la fonction affiche_produits qui utilise le fichier tpl avec  $tpl->assign('IN_HOME', defined('IN_HOME'));

Le principe est le même avec la fonction est_identifie.

Ensuite pour afficher les prix uniquement au personne identifiée sur la page d’accueil, le test doit être {if $est_identifie && $IN_HOME}

Share this post


: post
Share on other sites

Posted · Report post

marche nickel sur une 7.0.1

 

j'ai essayer de le mettre sur un autre et j'ai cette erreur {peel 7.0.2}

 

 

Notice: Undefined index: est_identifie in lesite/lib/templateEngines/smarty/compile/fc50836addb2f3c49ec320caabdbdb91de94ffb6.file.produits.tpl.phpon line 263

 

 

 

 

pourtant  :

 

 

-----------------------------------------------------------------------------------------------------------------

display_product.php

$tpl = $GLOBALS['tplEngine']->createTemplate('produits.tpl');
                              
                               $tpl->assign('IN_HOME', defined('IN_HOME'));
                               $tpl->assign('est_identifie', est_identifie());
                               $tpl->assign('STR_IDENTIFIEZ', $GLOBALS['STR_IDENTIFIEZ']);

------------------------------------------------------------------------------------------------------------------

produits.tpl

   {if ($est_identifie)||($IN_HOME)}
                                                                                              <td class="fc_prix">
                                                                                                              {if isset($prod.on_estimate)}
                                                                                                              {$prod.on_estimate}
                                                                                                              {/if}
                                                                                              </td>
                                                                             
                                                                              {else} <span style="text-align:center; color: red;">{$STR_IDENTIFIEZ}</span>
                                                                 {/if}

j'ai vider le cache du site et navigateur et même  supprimé les fichiers sauf  .htaccess dans: /lib/templateEngines/smarty/compile/ pour obliger une nouvelle compilation

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

 

La fonction a-t-elle été redéfini dans display_custom.php ? Dans ce cas il faut modifier la fonction dans display_custom.

Sinon pour comprendre l'origine du problème que vous rencontrez il faut que nous intervenions dans le code. Dans ce cas vous pouvez prendre contact avec le service commercial au 01 75 43 67 97.

Share this post


: post
Share on other sites

Posted · Report post

merci beaucoup en effet c’était redéfini dans display_custom.php

 

sa avait était modifier lors d'un développement spécifique effectuer par vos soin

 

 

merci encore

Share this post


: post
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

Twitter Advisto ecommerce

Facebook PEEL Shopping