Affichage des prix

8 messages dans ce sujet

Posté(e) · Signaler ce message

Bonsoir

avant de passer à l'installation de peel sur mon serveur, je voudrais savoir si cela est possible et si oui, comment faire pour que les prix et les articles ne s'affichent que pour les clients identifiés (logués), et que l'administrateur valide les comptes clients.

Merci d'avance

Jérôme

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour jgcrf, et bienvenue !

Pour réservé l'affichage des prix au seul membre connecté du site, il faut que vous modifiez la fonction affiche_prix de la classe Product, en ajoutant un test sur l'état de connexion du client avant d'afficher le prix :


function affiche_prix($with_taxes = true, $reseller_mode = false, $return_mode = false, $display_with_measurement = false, $item_id = null, $display_ecotax = true, $display_old_price = true, $table_css_class = 'full_expand_in_container', $display_old_price_inline = true)
{
if(est_identifie()) {
$output = affiche_prix($this, $with_taxes, $reseller_mode, $return_mode, $display_with_measurement, $item_id, $display_ecotax, $display_old_price, $table_css_class, $display_old_price_inline);
}
if ($return_mode) {
return $output;
} else {
echo $output;
}
}
[/CODE] Pour valider l'inscription du compte du client, vous devez modifier la fonction insere_utilisateur(), ligne 49 de lib/fonctions/user.php. Remplacer la valeur par défaut du champ [i]etat [/i]dans la requête SQL, qui est à 1 par 0 :
[CODE]
$qid = query("INSERT INTO peel_utilisateurs (
date_insert
, date_update
, email
, mot_passe
, priv
, civilite
, prenom
, pseudo
, nom_famille
, telephone
, fax
, portable
, adresse
, code_postal
, ville
, pays
, newsletter
, commercial
, remise_percent
, points
, format
, societe
, intracom_for_billing
, siret
, ape
, code_banque
, code_guichet
, numero_compte
, cle_rib
, domiciliation
, iban
, bic
, url
, description
, avoir
, naissance
, id_groupe
, origin
, origin_other
, lang
, on_vacances
, on_vacances_date
, promo
, id_cat_1
, id_cat_2
, id_cat_3
, seg_who
, seg_want
, seg_think
, seg_followed
, seg_buy
, project_product_proposed
, project_date_forecasted
, commercial_contact_id
, etat
) VALUES (
'" . nohtml_real_escape_string($date_insert) . "'
, '" . nohtml_real_escape_string($date_update) . "'
, '" . nohtml_real_escape_string(trim($frm['email'])) . "'
, '" . nohtml_real_escape_string($password_hash) . "'
, '" . nohtml_real_escape_string($priv) . "'
, '" . nohtml_real_escape_string(vb($frm['civilite'])) . "'
, '" . nohtml_real_escape_string(vb($frm['prenom'])) . "'
, '" . nohtml_real_escape_string(vb($frm['pseudo'])) . "'
, '" . nohtml_real_escape_string(vb($frm['nom_famille'])) . "'
, '" . nohtml_real_escape_string(vb($frm['telephone'])) . "'
, '" . nohtml_real_escape_string(vb($frm['fax'])) . "'
, '" . nohtml_real_escape_string(vb($frm['portable'])) . "'
, '" . nohtml_real_escape_string(vb($frm['adresse'])) . "'
, '" . nohtml_real_escape_string(vb($frm['code_postal'])) . "'
, '" . nohtml_real_escape_string(vb($frm['ville'])) . "'
, '" . intval(vn($frm['pays'])) . "'
, '" . intval(vn($frm['newsletter'])) . "'
, '" . intval(vn($frm['commercial'])) . "'
, '" . nohtml_real_escape_string(vb($remise_percent)) . "'
, '" . intval(vb($points)) . "'
, 'html'
, '" . nohtml_real_escape_string(vb($frm['societe'])) . "'
, '" . nohtml_real_escape_string(String::strtoupper(vb($frm['intracom_for_billing']))) . "'
, '" . nohtml_real_escape_string(vb($frm['siret'])) . "'
, '" . nohtml_real_escape_string(vb($frm['ape'])) . "'
, '" . nohtml_real_escape_string(vb($frm['code_banque'])) . "'
, '" . nohtml_real_escape_string(vb($frm['code_guichet'])) . "'
, '" . nohtml_real_escape_string(vb($frm['numero_compte'])) . "'
, '" . nohtml_real_escape_string(vb($frm['cle_rib'])) . "'
, '" . nohtml_real_escape_string(vb($frm['domiciliation'])) . "'
, '" . nohtml_real_escape_string(vb($frm['iban'])) . "'
, '" . nohtml_real_escape_string(vb($frm['bic'])) . "'
, '" . nohtml_real_escape_string(vb($frm['url'])) . "'
, '" . nohtml_real_escape_string(vb($frm['description'])) . "'
, '" . nohtml_real_escape_string(vn($frm['avoir'])) . "'
, '" . nohtml_real_escape_string(vb($naissance)) . "'
, '" . nohtml_real_escape_string(vn($frm['id_groupe'])) . "'
, '" . nohtml_real_escape_string(vn($frm['user_origin'])) . "'
, '" . nohtml_real_escape_string(vb($frm['user_origin7'])) . "'
, '" . nohtml_real_escape_string(vb($_SESSION['session_langue'])) . "'
, '" . intval(vn($frm['on_vacances'])) . "'
, '" . nohtml_real_escape_string(vb($on_vacances_date)) . "'
, '" . nohtml_real_escape_string(vb($frm['promo_code'])) . "'
, '" . intval(vn($frm['first_cat_annonce'])) . "'
, '" . intval(vn($frm['second_cat_annonce'])) . "'
, '" . intval(vn($frm['third_cat_annonce'])) . "'
, '" . nohtml_real_escape_string(vb($frm['seg_who'])) . "'
, '" . nohtml_real_escape_string(vb($frm['seg_want'])) . "'
, '" . nohtml_real_escape_string(vb($frm['seg_think'])) . "'
, '" . nohtml_real_escape_string(vb($frm['seg_followed'])) . "'
, '" . nohtml_real_escape_string(vb($frm['seg_buy'])) . "'
, '" . nohtml_real_escape_string(vb($frm['project_product_proposed'])) . "'
, '" . nohtml_real_escape_string(vb($frm['project_date_forecasted'])) . "'
, '" . intval(vn($frm['commercial_contact_id'])) . "'
, '0'
)");

Vous devrez alors activer manuellement le compte du client en back office

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

deja un grand bravo pour cet outil fabuleux, j'en ai essayé beaucoup mais celui ci est le plus complet, le plus parametrable et le plus intuitif a mon sens.

je me suis donc attelé a personnaliser mon site, mais comme "jgcrf" j'ai besoin qu'un visiteur non enregistré ne puisse pas voir les prix.

j'ai donc remplacé le bout de code d'origine par:

function affiche_prix($with_taxes = true, $reseller_mode = false, $return_mode = false, $display_with_measurement = false, $item_id = null, $display_ecotax = true, $display_old_price = true, $table_css_class = 'full_expand_in_container', $display_old_price_inline = true)

{

if(est_identifie()) {

$output = affiche_prix($this, $with_taxes, $reseller_mode, $return_mode, $display_with_measurement, $item_id, $display_ecotax, $display_old_price, $table_css_class, $display_old_price_inline);

}

if ($return_mode) {

return $output;

} else {

echo $output;

}

}

mais lorsque je consulte les articles j'ai des erreurs qui s'affichent:

Notice: Undefined variable: output in ..../lib/class/Product.php on line 865

la ligne 865 etant : return $output;

merci pour votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Festen, et merci pour vos encouragement !

Pour corriger votre erreur, il faut définir la variable $output avaec une valeur vide au début de votre fonction :


function affiche_prix($with_taxes = true, $reseller_mode = false, $return_mode = false, $display_with_measurement = false, $item_id = null, $display_ecotax = true, $display_old_price = true, $table_css_class = 'full_expand_in_container', $display_old_price_inline = true)
{
$output = '';
if(est_identifie()) {
$output = affiche_prix($this, $with_taxes, $reseller_mode, $return_mode, $display_with_measurement, $item_id, $display_ecotax, $display_old_price, $table_css_class, $display_old_price_inline);
}
if ($return_mode) {
return $output;
} else {
echo $output;
}
}
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

merci, cela fonctionne.

toutefois, les prix sont tout de meme visible via le produit_details, et le panier fait aussi apparaitre les prix, l'identification n'est demandée qu'au moment de valider la commande.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

y a t il une solution?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Il faut appliquer la même chose sur la fonction get_final_price du fichier lib/class/Product.php. Il faut remplacer la dernière ligne de la fonction par


if(est_identife()) {
return $this->format_prices($price_ht, $with_taxes, (!empty($add_ecotax)?$quantity:false), $format, $add_tax_type_text);
} else {
return false;
}
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

nickel!!

merci bien.

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