Cacher le prix av de s'identifier

22 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

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

Comment puis je faire merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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' );

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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,

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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,

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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,

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

même question pour une 7.0.1 svp

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping