Flux d’activité
Flux d’activité de Messages
-
-
Bonjour,
pour avoir les informations sur votre facture, il faut:
1) les indiquées dans la requete SQL qui ramenne les informations:
$qid_items = mysql_query(" SELECT p.reference ,oi.nom_produit ,p.prix AS curr_prix ,oi.prix AS purchase_prix ,oi.quantite ,oi.tva ,oi.promotion ,oi.prix * oi.quantite AS total ,oi.comment ,oi.couleur ,oi.taille ,oi.option_prix ,oi.delivery_stock ,pc.remise_code ,pc.remise_client FROM peel_commandes pc, peel_commandes_articles oi LEFT JOIN peel_produits p ON (oi.produit_id = p.id) WHERE commande_id = '$id' AND pc.id = oi.commande_id ");
2) ajouter leur affichage dans la age désirée.
Paulanna vous demande donc d'ajouter les champs manquants dans la requete SQL du point 1.
Willy
-
Bonjour,depuis que j'ai été migré sur OVH, après quelques minutes d'inactivité dans le back office le programme me demande de m'identifier à nouveau.
c'est très irritant, car je passe mon temps à m'identifier 20 fois par jour.......
comment contourner ce problème
Merci pour votre aide
Cordialement
Panne Sêche
Pareil pour moi, personne à une idée du fichier à modifier ?
Merci.
-
-
Ahh vraiment la merci beaucoup ;) , merci wantmaster d'avoir pris le temps pour ton explication. Et je vais suivre ton conseil en ce qui concerne les css, mais qu'elle est la conséquence de les laisser dans haut.php??Me revoilà, hé bien aucune conséquence, mais bon avoir un partie des css intergrer à haut.php et l'autre partie en externe hum je te conseil de dissociés (html et css). Par contre les internautes ne verront aucune diffèrence. Sinon je viens de regarder ton site, hum tu as des décallages sous firefox, sache qu'il y a des choses en css à retirer. Et pour bien te reperer enfin c'est un conseil, surement que beaucoup diront le contraire, mais chacun sa methode, Je dirai...
Pour un site centrer avec un arrière plan je conseil:
Un div pour l'ensemble (avec taille définie si tu veux optimiser en 1024x768) qu'on appel "l'ancêtre" et qui contient les "parents" et "enfants" div. Disont un div pour ton menu (accueil, compte...). Pas de taille définie appart je pense la hauteur. Un div pour le menu gauche en float left avec une taille définie (genre 170px) et un div centre en mettant juste le nécessaire. La fin du </div> centre et du </div> ancêtre sera mis dans le bas.php
Ah j'oublie pour ceux qui font du design genre qui applique un décors qui prend le menu gauche avec le centre ne pas oublier que si le fichier bas.php remonte et bien mettre une taille du div centre au minimum de la taille du menu gauche.
En css biensûre:
div.centre {
overflow: hidden;
height: auto!important;
height: 500px; (c'est une valeur de 500px choisie au hasard)
min-height:500px;
}
Bon là j'y vais moins de 4h de someil alalala. Bon courage ;-)
-
Sur les versions 2.9.3 et 3, lorsqu'on fait une recherche d'article à partir du menu, et que le résultat sort une liste d'articles qui s'étend sur plusieurs pages, cliquer sur les pages suivantes ne met pas à jour la liste d'article.
Correctif:
Dans achat\recherche.php
remplacer la ligne " if(!isset($start)) {$start=0;} "
par " if (!isset($_GET['start'])) {$start=0;} else {$start = $_REQUEST['start'];} "
-
Ahh vraiment la merci beaucoup ;) , merci wantmaster d'avoir pris le temps pour ton explication. Et je vais suivre ton conseil en ce qui concerne les css, mais qu'elle est la conséquence de les laisser dans haut.php??
-
Pour Wantmaster, voiçi la page de ma boutique à ouvrir sous IE 6 ou 7 pour voir le problème, sous firefox tous passe correctement.Bon man vu qu'en se moment c'est chaud time, pour moi, entre le taff de semaine les sites à gerer pour mes clients bref pour IE6 voilà tu rajoute ceci après le script css de ton fichier haut.php( juste après </style>) tu met:
<!--[if lte IE 6]><style type="text/css">
div#gauche {
margin-right: 7px;
}
div#centre {
overflow: visible;
height: 1%;
}
</style><![endif]-->
Sa permet déjà de corriger les 3 pixel Jog de IE6
et pour que tout marche avec le IE7 aussi tu rajoute dans ton fichier css qui est inserer dans ton fichier haut.php
#centre {
overflow: hidden;
background-color:#FFF;
margin-right: 5px; /* Permet d'avoir une marge droite de 5px */
padding: 5 5 5 5;
}
Voilà j'ai pas le time d'expliquer, mais je vais quand j'aurai le time tout retaper peel, y a pas mal de chose bien faite mais pas mal d'erreur bête. Des oublies de balise, des trucs inutiles. Pour ceux qu'on pas le time virer tout les css du fichier haut.php et mettez le dans un fichier css si vous en avez qu'un ou les 5 en couleurs.
Sinon voici peel avec juste ces motif. La version que je viens tout juste dl 3.0 béta http://www.aqualogie.fr.nf/peel/
J'ai pas gérer la présentation ni le design.
Je tiens à dire que j'ai laisser les donner css sans rien toucher.
@ bientôt
-
Si cela sert de N° de facture sans rien d'autre cela me parait aberrant car potentiellement cela signifie, même si improbable et sauf erreur de ma part, possibilité de 2 factures avec les même n° (si commande sur des fuseaux horaires différents). Si cela peut se produire, je pense que les impôts font se régaler.Les commandes sont en france metropolitaine uniquement ;)
-
Je continue à "gratter" dans le code mais en fait si je ne passe pas à l'étape suivante c'est parce qu'il lui faut le pays d'expédtion et le type alors qu'ils
seront choisi automatiquement lors du contrôle des données du client par le client lui même...
Mais je n'arrive pas à trouver où sont les lignes de codes à retirer pour ne plus qu'il demande le pays, la zone et le type d'expédition !!
Désolé pour les fautes, dans la réponse précédente j'ai oublié les "s" à parties du code ... ;)
-
-
Pas sympa de ce moquer !!... je suis peut etre perdu en dev. (comme vous dites, et c'e'st vrai ) mais en impression textile j'assure ! ;)
Alors pour vos T shirts et la pub de vos boutiques , demandez moi ! lol
A +
Dan
-
J'ai oublier de préciser que pour ne plus afficher les données, jai mis des partie du code en commentaire au lieu de l'effacer...
-
voila j'ai enlever l'affichage des données que je ne voulais plus dans le caddie, mais le probleme eest que losque l'on clik sur le boutton "commander" du
caddie, la page suivante ne s'affiche plus ... ;)
Code de la page : "achat/modeles/caddie.php"
<? if ($_SESSION['caddie']->compte_elements() == 0) { echo "<div class=\"normal\">".nl2br(EMPTY_CADDIE)."</div>"; return false; } ?> <script language="Javascript"> function frmsubmit(func) { frm = document.entryform; frm.func.value = func; frm.submit(); } </script> <?php echo "<div class=\"entete\"><img src=\"$wwwroot/images/tres_petite_puce_fleur\"> ".CADDIE."</div>" ?> <form name="entryform" method="POST" action="<?=$_SERVER['PHP_SELF']?>"> <input type="hidden" name="func" value=""> <table border="0" cellspacing="5" cellpadding="0" width="100%"> <? echo "<tr><td>"; echo "<div class=\"label_rouge\">"; echo "<blink>"; echo nl2br(stripslashes(vb script:return confirm('Etes-vous sûr de vouloir enlever ce produit du panier ?');" class="normal" href="<?=$_SERVER['PHP_SELF']?>?func=enleve&ligne=<?=$i?>&id=<?=$prod['id']?>"><img src="images/poubelle.gif" width="25" height="25" alt="" border="0"></a></td> <td class="lignecaddie"> <!-- affiche le nom du produit --> <a class="normal" href="achat/produit_details.php?id=<?=$prod['id']?>"><?echo stripslashes($prod['nom_'.$_SESSION['langue'].''])?></a> <?php if (!empty($delivery_stock)) { echo "<br />".DELIVERY_STOCK." : $delivery_stock<br />";} echo (!empty($comment)) ? "<br /><b>".COMMENTS."</b><br /><textarea name=\"comment[]\" class=\"formulaire1\">$comment</textarea>" : "<input type=\"hidden\" name=\"comment[]\" value=\"\" />"; echo (!empty($couleur) > 0) ? "<br /><b>".COLOR."</b> : $couleur<br /> <input type=\"hidden\" name=\"couleur[]\" value=\"$couleur\">" : "<input type=\"hidden\" value=\"\" name=\"couleur[]\">"; echo (!empty($taille) > 0) ? "<br /><b>".SIZE."</b> : $taille<br /> <input type=\"hidden\" name=\"taille[]\" value=\"$taille\">" : "<input type=\"hidden\" value=\"\" name=\"taille[]\">"; echo (!empty($email_check) > 0) ? "<br />".EMAIL_FRIEND." : $email_check<br /> <input type=\"hidden\" name=\"email_check[]\" value=\"$email_check\">" : "<input type=\"hidden\" value=\"\" name=\"email_check[]\">"; echo "</td>"; echo "<td class=\"lignecaddie\" align=\"center\">"; if (!empty($remise_produit)) { echo "<s>".fprix($prix_cat)." €</s> "; } echo fprix($prix)."€"; echo "</td>"; echo "<td class=\"lignecaddie\" align=\"center\">"; echo (!empty($remise_produit)) ? fprix($remise_produit)." € (- $remise_produit_percent %)" : "-"; echo "</td>"; ?> <td class="lignecaddie" align="center"><?=$quantite?><input type="hidden" name="quantite[]" value="<?=$quantite?>" onChange="java script:frmsubmit('recalc');" class="formulaire1"></td> <td class="lignecaddie" align="center"> <?echo fprix($total_prix); ?> € ttc </td> </tr> <? } } } ?> <tr> <td colspan="5" class="normal" align=right><?echo TOTAL_TTC ?> :</td> <td class="normal" align="right"> <? echo fprix($_SESSION['caddie']->total_produit_avant_promo ) ?> € TTC </td> </tr> <?php if (!empty($_SESSION['caddie']->ecotaxe_ttc)) { ?> <tr> <td colspan="5" class="normal" align="right">Ecotaxe T.T.C :</td> <td class="normal" align="right"> <? echo fprix($_SESSION['caddie']->ecotaxe_ttc) ?> € T.T.C </td> <?php } #- Si la session client contient une remise en % > 0 if (!empty($_SESSION['caddie']->total_remise_client)) { ?> <tr> <td colspan="5" class="normal" align="right"><?echo REMISE_CLIENT ?> (<? echo $_SESSION['caddie']->remise_client_percent." % "?>):</td> <td class="normal" align="right"> - <? echo fprix($_SESSION['caddie']->total_remise_client) ?> € T.T.C </td> </tr> <?php } #- Si la session caddie contient un code promotionnel if (!empty($_SESSION['caddie']->total_remise_code) ) { ?> <tr> <td colspan="5" class="normal" align="right"><?echo CODE_PROMO_REMISE." (".$_SESSION['caddie']->remise_code_percent." % ) :";?></td> <td class="normal" align="right"> - <?=fprix($_SESSION['caddie']->total_remise_code) ?> € T.T.C </td> </tr> <? } #- Si la session caddie contient un chèque cadeau if (!empty($_SESSION['caddie']->total_remise_cheque) ) { ?> <tr> <td colspan="5" class="normal" align="right"><?echo CHEQUE_CADEAU_REMISE." :";?></td> <td class="normal" align="right"> - <?=fprix($_SESSION['caddie']->total_remise_cheque) ?> € T.T.C </td> </tr> <? } #- Si la session caddie contient un chèque cadeau if (!empty($_SESSION['caddie']->total_remise_bon) ) { ?> <tr> <td colspan="5" class="normal" align="right"><?echo BON_REDUCTION_REMISE." :";?></td> <td class="normal" align="right"> - <?=fprix($_SESSION['caddie']->total_remise_bon) ?> € T.T.C </td> </tr> <? } #- Si la session caddie contient un chèque cadeau if (!empty($_SESSION['caddie']->avoir) ) { ?> <tr> <td colspan="5" class="normal" align="right"><?echo AVOIR." :";?></td> <td class="normal" align="right"> - <?=fprix($_SESSION['caddie']->avoir) ?> € T.T.C </td> </tr> <? } ?> <tr> <!-- <td colspan="5" class="normal" align=right><?echo SHIPPING_COST?> :</td> <td class="normal" align="right"> <?php echo (!empty($_SESSION['caddie']->cout_transport)) ? $_SESSION['caddie']->cout_transport." € ttc" : "".OFFERED." ".FROM." $seuil_total €"; ?>--> </td> </tr> <? if ($_SESSION['caddie']->total > 0) { ?> <tr> <td colspan="5" class="normal" align=right><?echo TOTAL_HT ?> :</td> <td class="normal" align="right"> <? echo fprix($_SESSION['caddie']->total_ht) ?> € H.T. </td> </tr> <?php if ($_SESSION['caddie']->zoneTva == 1) { ?><tr> <td colspan="5" class="normal" align="right"><i><?echo VAT ?> :</i></td> <td class="normal" align="right"> <i><? echo fprix($_SESSION['caddie']->total_tva) ?> €</i> </td> </tr> <?php } ?> <tr> <td colspan="5" class="label" align=right><?echo NET ?> :</td> <td class="total" align="right"> <? echo fprix($_SESSION['caddie']->total) ?> € </td> </tr> <!-- <? } if ( $_SESSION['caddie']->total_points > 0 ) { ?> <tr> <td colspan="5" class="normal" align="right"><?echo ORDER_POINT ?> :</td> <td class="normal" align="right"> <? echo $_SESSION['caddie']->total_points." ".POINT ?> --> </td> </tr> <? } ?> <tr> <td colspan="6" class="normal"> <table border="0" cellpadding="5" cellspacing="0" width="100%"> <tr > <!-- <td class="label" style="border-top:1px solid black;border-left:1px solid black;border-right:1px solid black;<?php echo (empty($_SESSION['caddie']->zone)) ? "border-bottom:1px solid black;" : "";?>"> <?php if (isset($_SESSION['caddie']->pays)) { $queryPays = mysql_query("SELECT pays_".$_SESSION['langue']." FROM peel_pays WHERE pays_".$_SESSION['langue']." = '".addslashes($_SESSION['caddie']->pays)."'"); if (mysql_num_rows($queryPays) >0) { $objPays = mysql_fetch_array($queryPays); $ship = $objPays['pays_'.$_SESSION['langue'].'']; } } if (!empty($erreur_pays)) {echo "<font color=red><b>$erreur_pays</b></font><br />";} echo COUNTRY_SHIP ?> (*) : <select class="formulaire1" name="pays_zone" onChange="java script:frmsubmit('recalc')"> <option value="|"><?echo COUNTRY_CHOOSE ?></option> <?php $sqlPays = "SELECT id, pays_".$_SESSION['langue'].", zone FROM peel_pays WHERE etat = '1' ORDER BY pays_".$_SESSION['langue'].""; $resPays = mysql_query($sqlPays); if ($resPays) { if (mysql_num_rows($resPays) >0) { while ($Pays = mysql_fetch_array($resPays)) { echo "<option value=\"".$Pays['id']."|".$Pays['zone']."\""; if (vb script:frmsubmit('recalc')"> <option value=""><?echo SHIP_TYPE_CHOOSE ?></option> <?php $queryZone = mysql_query("SELECT id FROM peel_zones WHERE nom_".$_SESSION['langue']." = '".addslashes($_SESSION['caddie']->zone)."'"); $objZone = mysql_fetch_object($queryZone); $sqlType = "SELECT DISTINCT(t.id), t.nom_".$_SESSION['langue']." FROM peel_tarifs tf, peel_types t WHERE t.id = tf.type AND tf.zone = '".$objZone->id."'"; $resType = mysql_query($sqlType) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());; if ($resType) { if (mysql_numrows($resType)) { while ($Type = mysql_fetch_array($resType)) { echo "<option value=\"".$Type['nom_'.$_SESSION['langue'].'']."\""; if (vb script:frmsubmit('recalc')"> <a class="normal" href="java script: frmsubmit('recalc');"><img src="images/ok.gif" align="absmiddle"></a><br /> --> </td> <td colspan="2"> </td> </tr> <tr> <!-- <td colspan="5" class='normal'> <b><?echo GIFT_CHECK ?> :</b><br /> <input type="text" class="formulaire1" name="code_cheque" value="<?=strtoupper(vb script:frmsubmit('recalc')"> <a class="normal" href="java script: frmsubmit('recalc');"><img src="images/ok.gif" align="absmiddle"></a><br /> --> </td> <td colspan="2"> </td> </tr> <tr> <!-- <td colspan="5" class='normal'> <b><?echo BON_REDUCTION ?> :</b><br /> <input type="text" class="formulaire1" name="code_bon" value="<?=strtoupper(vb script:frmsubmit('recalc')"> <a class="normal" href="java script: frmsubmit('recalc');"><img src="images/ok.gif" align="absmiddle"></a><br /> --> </td> <td colspan="2"> </td> </tr> <tr> <td colspan="6" align="right"> <p> </p> <p> </p> <p><img src="images/actualiser.gif" align="absmiddle"> <a class="normal" href="java script: frmsubmit('recalc');" onMouseOver="return overlib('Vos frais de port sont offerts à partir de <?php echo $seuil_total ?> EUROS d\'achat');" onMouseOut="return nd();"><?echo UPDATE ?></a> </p></td> </tr> <tr><td colspan="6" align="center"> <p> </p> <p> </p> <p><a class="normal" href="java script: frmsubmit('sauvegarde');"><?echo BACKUP ?></b></a> | <a class="normal" href="<?=$wwwroot?>/achat/index.php"><?echo CATALOG?></a> | <a class="normal" href="java script: frmsubmit('vide');"><?echo EMPTY_LIST ?></a> </p> <?php if ($_SESSION['caddie']->total > 0) { ?> <div align="center"><a class="normal" href="java script: frmsubmit('commande');" onMouseOver="return overlib('Vos frais de port sont offerts à partir de <?php echo $seuil_total ?> EUROS d\'achat');" onMouseOut="return nd();"><b><?echo strtoupper(ORDER) ?></b></a></div> <?php } else { ?> <div align="center" class="normal"><p><?php echo MSG_SUGGEST ?></p></div> <?php } ?> </td></tr></table> </td></tr></table> </form>
code de la page "achat/caddie_affichage.php" :<? include("../configuration.inc.php"); if (isset($_REQUEST['func'])) { switch ($_REQUEST['func']) { case "enleve" : /* Décrementation de la table peel_stocks_temporaires */ $error = array(); $qte = $_SESSION['caddie']->quantite[$_GET['ligne']]; $resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$_GET['ligne']]."'"); $C = mysql_fetch_object($resC); $resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$_GET['ligne']]."'"); $T = mysql_fetch_object($resT); $sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'"; @mysql_query($sql) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $_SESSION['caddie']->enleve(intval($_GET['ligne'])); $_SESSION['caddie']->nettoie(); $_SESSION['caddie']->recalc_total(); //if (!empty($_SESSION['caddie']->code_cheque)) { //$error_check = calcul_code_cheque_cadeau($_SESSION['caddie']->code_cheque); //array_push($error, $error_check); //} //if (!empty($_SESSION['caddie']->code_bon)) { //$error_bon = calcul_code_bon_reduction($_SESSION['caddie']->code_bon); //array_push($error, $error_bon); //} //if (!empty($_SESSION['caddie']->type)) { //calcul_frais_expedition(vb($_SESSION['caddie']->type)); //} header("Location:".$_SERVER["PHP_SELF"]); break; case "vide" : foreach($_SESSION['caddie']->articles as $ligne => $produitid) { $resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$ligne]."'"); $C = mysql_fetch_object($resC); $resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$ligne]."'"); $T = mysql_fetch_object($resT); $sql = "DELETE FROM peel_stocks_temp WHERE produit_id = '".intval($produitid)."' AND couleur_id = '".vn($C->id)."' AND taille_id = '".vn($T->id)."'"; mysql_query($sql) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); } $_SESSION['caddie']->init(); break; case "sauvegarde" : maj_quantite($_POST); if (est_identifie()) { header("Location:$wwwroot/achat/sauvegarde_devis.php"); } else { header("Location:$wwwroot/membre.php"); } break; case "recalc" : $error = maj_quantite($_POST); break; case "commande" : if (empty($_SESSION['caddie']->pays)) { $erreur_pays = stripslashes(MSG_ERR_SHIP_COUNTRY); } elseif (empty($_SESSION['caddie']->type)) { $erreur_type = stripslashes(MSG_ERR_TYPE); } else { maj_quantite($_POST); $_SESSION['caddie']->nettoie(); $_SESSION['caddie']->recalc_total(); if (est_identifie()) { header("Location:$wwwroot/achat/achat_maintenant.php"); } else { header("Location:$wwwroot/membre.php"); } } break; } $_SESSION['caddie']->nettoie(); $_SESSION['caddie']->recalc_total(); } $DOC_TITLE = "PEEL.FR"; include("$repertoire_modele/haut.php"); include("modeles/caddie.php"); include("$repertoire_modele/bas.php"); /****************************************************************************** * FONCTIONS *****************************************************************************/ function maj_quantite(&$form) { global $seuil; global $seuil_total; global $seuil_total_reve; $type = vb($_POST['type']); $code_promo = vb($_POST['code_promo']); $code_cheque = vb($_POST['code_cheque']); $code_bon = vb($_POST['code_bon']); $ship = explode("|", $_POST['pays_zone']); $paysId = intval($ship[0]); $zoneId = intval($ship[1]); $zoneTVA = 1; /*************************************************************/ /* Récupération du nom du pays puis insertion dans le caddie */ /*************************************************************/ $sqlCountry = "SELECT pays_".$_SESSION['langue']." as pays FROM peel_pays WHERE id = '".vb($paysId)."'"; $resCountry = mysql_query($sqlCountry) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if ($resCountry) { if (mysql_num_rows($resCountry) > 0) { $Country = mysql_fetch_array($resCountry); $pays = $Country['pays']; $_SESSION['caddie']->pays($pays); #- On place le nom du pays dans le caddie si il est déterminé } else { $pays = ""; } } /******************************************************************************** ********************************/ /* Si le pays d'expédition est déterminé, on récupère la zone et on vérifie si la zone de TVA s'applique ou pas */ /******************************************************************************** ********************************/ $sqlZone = "SELECT nom_".$_SESSION['langue'].", tva FROM peel_zones WHERE id = '".vn($zoneId)."'"; $resZone = mysql_query($sqlZone); if ($resZone) { if (mysql_num_rows($resZone) > 0) { $Zone = mysql_fetch_row($resZone); $zone = $Zone[0]; $zoneTva = $Zone[1]; $_SESSION['caddie']->zone($zone, $zoneTva); #- On place la zone si elle est déterminée } else { $zone = ""; $zoneTva = 1; } } /*********************************/ /* Calcul des frais d'expédition */ /*********************************/ if (!empty($type)) { calcul_frais_expedition(vb($type)); } /*********************************/ /* Gestion du code promotionnel */ /*********************************/ $error = array(); $sql_cp = "SELECT * FROM `peel_codes_promos` WHERE nom = '".strtoupper($code_promo)."' AND `date_debut` < now( ) AND `date_fin` > now( )" or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $res_cp = mysql_query($sql_cp); $code = mysql_fetch_array($res_cp); if (mysql_num_rows($res_cp) > 0) { $remise_code_percent = $code['remise']; $_SESSION['caddie']->code_promo(strtoupper($code_promo), $remise_code_percent); #- On place le code promo dans le caddie si il est déterminé. } else { $remise_code = 0; if (!empty($code_promo)) { # Empeche l'affichage d'un message d'erreur si le code n'est pas renseigné. array_push($error,nl2br(MSG_ERR_CODE_PROMO)); } } /*********************************/ /* Gestion du chèque cadeau */ /*********************************/ $error_check = calcul_code_cheque_cadeau($code_cheque); array_push($error, $error_check); /*******************************************/ /* Gestion du bon de réduction */ /*******************************************/ $error_bon = calcul_code_bon_reduction($code_bon); array_push($error, $error_bon); /*****************************************************************/ /* Récupération des remises en % qui ne sont pas dans un tableau */ /*****************************************************************/ foreach ($_POST['id'] as $i => $produitid) { $sqlProd = "SELECT nom_".$_SESSION['langue']." as nom, prix, prix_revendeur, promotion, tva, etat_stock, delai_stock, points, poids FROM peel_produits WHERE id = '".intval($produitid)."'"; $resProd = mysql_query($sqlProd) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $prod = mysql_fetch_array($resProd); $points = $prod['points']; $poids = $prod['poids']; $tva_percent = !empty($zoneTva) ? $prod['tva'] : "0"; /*******************************************************************/ /* 0 - On récupère les données du caddie */ /******************************************************************/ $quantite = $_POST['quantite'][$i]; $comment = vb($_POST['comment'][$i]); $option = vn($_POST['option'][$i]); $email_check = vb($_POST['email_check'][$i]); /**************************************************/ /* 1 - On récupère le prix catalogue (sans promo) */ /**************************************************/ /* Choix entre prix revendeur et prix public */ (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") ? $prix_cat = $prod['prix_revendeur'] + vn($option) : $prix_cat = $prod['prix'] + vn($option); $prix_cat_ht = $prix_cat / (1 + $tva_percent/100); /****************************************************************************/ /* 2 - On calcule les promotions en valeur (calculé toujours sur le prix HT) */ /***************************************************************************/ $remise_produit_percent = vn($prod['promotion']); $remise_produit = $prix_cat_ht * $remise_produit_percent/100; /*******************************************************************/ /* 3 - On calcule le prix vendu HT et le prix TTC */ /******************************************************************/ $prix_ht = $prix_cat_ht - $remise_produit; $prix = $prix_ht * (1+$tva_percent/100); $total_prix = $prix * $quantite; $total_prix_ht = $prix_ht * $quantite; $tva = $total_prix - $total_prix_ht; /*******************************************************************/ /* 4 - Contrôle des problématiques liées à la gestion des stocks*/ /******************************************************************/ $etat_stock = $prod['etat_stock']; $delivery_stock = $prod['delai_stock']; $couleur = $_POST['couleur'][$i]; $taille = $_POST['taille'][$i]; $resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$couleur."'"); $C = mysql_fetch_object($resC); $resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$taille."'"); $T = mysql_fetch_object($resT); $s = mysql_fetch_array(mysql_query("SELECT stock FROM peel_stocks WHERE produit_id = '".$produitid."' AND couleur_id = '".vn($C->id)."' AND taille_id = '".vn($T->id)."'")); if ($etat_stock == 1) { /* $s est définie dans la requête de controle du stock */ if ($quantite > $s['stock']) { $resProd = mysql_query("SELECT nom_".$_SESSION['langue']." as nom FROM peel_produits WHERE id = '".intval($produitid)."'"); $Prod = mysql_fetch_object($resProd); $message = "<p>Attention, Le produit <i>".$prod['nom']."</i> dispose d'un stock limité à ".$s['stock']." unités.</p>"; array_push($error,nl2br($message)); $quantite = $s['stock']; } } /*******************************************************************/ /* 5 - On envoie les données dans l'objet caddie */ /******************************************************************/ $_SESSION['caddie']->place( $i, $produitid, $quantite, $couleur, $taille, $prix_cat, $prix_cat_ht, $prix, $prix_ht, $total_prix, $total_prix_ht, $tva_percent, $tva, $poids, $points, $remise_produit_percent, $remise_produit, $comment, $etat_stock, $delivery_stock, $option, $email_check); } if (!empty($type)) { calcul_frais_expedition(vb($type)); } return $error; } /*******************************************/ /* Gestion du bon de réduction */ /*******************************************/ function calcul_code_bon_reduction(&$code_bon) { $error_bon = ""; $sql_bon = "SELECT * FROM `peel_bons_reduction` WHERE nom = '".strtoupper($code_bon)."'" or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $res_bon = mysql_query($sql_bon); $ar_bon = mysql_fetch_array($res_bon); if (mysql_num_rows($res_bon) > 0) { if ($ar_bon['seuil'] <= $_SESSION['caddie']->total) { $remise_code_bon = $ar_bon['remise']; $bon = $ar_bon['nom']; $_SESSION['caddie']->bon_reduction(strtoupper($bon), $remise_code_bon); #- On place le code dans le caddie si il est déterminé. } else { $remise_code_bon = 0; $bon = ""; $_SESSION['caddie']->bon_reduction(strtoupper($bon), $remise_code_bon); #- On place le code dans le caddie si il est déterminé. $error_bon = nl2br(MSG_ERR_CODE_BON_SEUIL); } } else { $remise_code_bon= 0; if (!empty($code_bon)) { # Empeche l'affichage d'un message d'erreur si le code n'est pas renseigné. echo $error_bon; $error_bon = nl2br(MSG_ERR_CODE_BON); } } return $error_bon; } function calcul_code_cheque_cadeau(&$code_cheque) { $error_check = ""; $sql_check = "SELECT * FROM `peel_cheques_cadeaux` WHERE code = '".strtoupper($code_cheque)."' AND etat = '1' " or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $res_check = mysql_query($sql_check); $ar_check = mysql_fetch_array($res_check); if (mysql_num_rows($res_check) > 0) { if ($ar_check['seuil'] <= $_SESSION['caddie']->total) { $remise_code_check = $ar_check['remise_cheque']; $code_cheque = $ar_check['code']; $_SESSION['caddie']->cheque_cadeau(strtoupper($code_cheque), $remise_code_check); #- On place le code dans le caddie si il est déterminé. } else { $remise_code_check = 0; $code_cheque = ""; $_SESSION['caddie']->cheque_cadeau(strtoupper($code_cheque), $remise_code_check); #- On place le code dans le caddie si il est déterminé. $error_check = nl2br(MSG_ERR_CODE_CHECK_SEUIL); } } else { $remise_code_check= 0; if (!empty($code_cheque)) { # Empeche l'affichage d'un message d'erreur si le code n'est pas renseigné. $error_check = nl2br(MSG_ERR_CODE_CHECK); } } return $error_check; } function calcul_frais_expedition(&$type) { global $seuil; global $seuil_total; $_SESSION['caddie']->type($type); #- On place le type d'expédition si il est déterminé $expedition = 0; $queryType = mysql_query("SELECT id FROM peel_types WHERE nom_".$_SESSION['langue']." = '".htmlspecialchars($type, ENT_QUOTES)."'") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $objType = mysql_fetch_object($queryType); $queryZone = mysql_query("SELECT id FROM peel_zones WHERE nom_".$_SESSION['langue']." = '".htmlspecialchars($_SESSION['caddie']->zone, ENT_QUOTES)."'") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $Zone = mysql_fetch_object($queryZone); $ZoneId = $Zone->id; $sql_tarif = "SELECT tarif, poidsmax, tva FROM peel_tarifs WHERE type = '".$objType->id."' AND zone = '".$ZoneId."' ORDER BY poidsmax ASC"; $result_tarif = mysql_query($sql_tarif) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if ($result_tarif) { if (mysql_num_rows($result_tarif)) { while ($tab_tarif = mysql_fetch_array($result_tarif)) { if ($_SESSION['caddie']->total_poids <= $tab_tarif['poidsmax']) { $expedition = $tab_tarif['tarif']; $expedition_ht = $tab_tarif['tarif'] / (1+$tab_tarif['tva']/100); break; } else { $expedition = $tab_tarif['tarif']; $expedition_ht = $tab_tarif['tarif'] / (1+$tab_tarif['tva']/100); } } } } #- Vérifie si le total du panier n'excède pas les seuils définis en back office $seuil = (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") ? $seuil_total_reve : $seuil_total; if ($_SESSION['caddie']->total_produit > $seuil) {$expedition = 0; $expedition_ht = 0;} #- Frais de port gratuit si le total TTC des produits est > au seuil. $_SESSION['caddie']->expedition($expedition, $expedition_ht); #- On place le cout du transport dans le caddie } ?>
Voila...
-
Bonjour,
concernant les accents avez vous trouvé qqchose d'autre car c'est un peu chiant ....
Merci
-
-
Pour Wantmaster, voiçi la page de ma boutique à ouvrir sous IE 6 ou 7 pour voir le problème, sous firefox tous passe correctement.
-
Bonjour à tous,
Nous n'étions pas sûrs du problème, mais celui-ci s'est révélé existant et est plutôt ennuyeux.
Nous gérons l'état des stocks. Or, sur une dizaine de produits, le stock s'est réinitialisé à 0 sans que le nombre de commandes clients puisse le justifier.
Je crois avoir trouvé l'origine du bug : j'ai l'impression que ces stocks se réinitialisent uniquement lorsqu'on crée une proforma depuis la console d'admin.
Autre bug sur cette page (/administrer/link_proforma.php) : en mode "insérer" (action="insere"), les décimales des prix renseignés ne sont pas pris en compte, ce qui oblige à revenir sur la boutique et à corriger ces prix (et là ça fonctionne).
Ma version de Peel Premium : v3
Avez-vous rencontré ce même problème ?
Merci.
-
Après quelques heures de recherche, je viens de trouver la solution que je vous livre ici, au cas où certains d'entre vous ajoutent ce moyen de paiement (ce que j'ai cru comprendre en lisant le forum) :
1/ dans le fichier de langue fr.php, ajouter la ligne suivante :
define("UNEURO","1euro.com",TRUE);
2/ au niveau de la console d'admin, ajouter le type de paiement tel que :
Nom fr : 1euro.com
Nom en : 1euro.com
Position : 4 (pour moi, c'est la dernière, car j'ai ajouté un bouton "calculatrice" donné par 1euro.com)
3/ au niveau du fichier achat/fin_commande.php, j'ai rajouté le code suivant entre le case check et le case paypal:
/* ajout 1euro.com */
case UNEURO :
?>
<div align="center">
Pour régler avec 1euro.com, cliquez ici :<br />
<form action="<?=$paybox_cgi?>" name="TheForm" method="POST">
<input type="hidden" name="PBX_MODE" value="1">
<input type="hidden" name="PBX_SITE" value="<?=$paybox_site?>">
<input type="hidden" name="PBX_RANG" value="<?=$paybox_rang?>">
<input type="hidden" name="PBX_IDENTIFIANT" value="<?=$paybox_identifiant?>">
<input type="hidden" name="PBX_TOTAL" value="<?=str_replace(",", "",fprix($com->montant))?>">
<input type="hidden" name="PBX_DEVISE" value="978">
<input type="hidden" name="PBX_CMD" value="<?=$commandeid?>">
<input type="hidden" name="PBX_PORTEUR" value="<?=$com->email?>">
<input type="hidden" name="PBX_RETOUR" value="montant:M;ref:R;auto:A;trans:T">
<input type="hidden" name="PBX_EFFECTUE"" value="<?=$wwwroot?>/paiement/retour.php">
<input type="hidden" name="PBX_REFUSE"" value="<?=$wwwroot?>/paiement/retour.php">
<input type="hidden" name="PBX_ANNULE"" value="<?=$wwwroot?>/paiement/retour.php">
<input type="submit" value="Paiement via 1euro.com" class="bouton">
</form>
<br>
<img src="http://partenaires.1euro.com/partenaires/fr/2753408/bt_logo_orange.gif" border="0">
<br>
</div>
<?
break;
/* fin ajout 1euro.com */
4/ au niveau de la page modele/achat_maintenant.php, j'ai rajouté la ligne suivante pour insérer l'image de la calculatrice 1euro.com :
Après :
if ($tab_paiement['tarif'] != 0) { echo " : + ".$tab_paiement['tarif']." €";}
On ajoute :
if ($tab_paiement['id']=='20') {
echo " <a href='java script:calculette(\"XXX\")'><img src=\"XXX\" border=\"0\" style=\"vertical-align: middle;\"></a>";
}
le id=20 correspond à l'id tu type de paiement -> à modifier selon votre cas
les liens image et javascript dépendent du kit graphique choisi chez 1euro.com : une fois le contrat signé, vous recevrez vos propres liens.
Voilà, j'ai testé et ça fonctionne.
J'espère que ça aidera les prochains utilisateurs !
Marie-Aude
-
ok ben jvais voir ce sue j'arrive à faire et je vous recontacterez
Mais lorsque j'ai voulu elevé les lignes que je ne voulez pas afficher dans le caddie, j'avais des problemes lorsque je voulais retourner sur la page d'accueil (par exemple) j'aivais une erreur php et impossible de faire quoi que ce soit.
Alors dans quelle page puis-je trouver le calcul des frais de ports exactement car j'ai cherché dans "caddie_affichage"; "caddie" mais je n'ai pas reussi à trouver les lignes correspondant au calcul du transport.
Et une dernière question (du moins pour le moment ;) ) est-il possible de passer le calcul du transport avec des variables globales afin de pouvoir récupérer les valeurs de ces variables dans une autre page ?
-
oui en effet l'idée est là !
pour ta demande il s'agit ici d'un développement sur mesure auquel nous pourrons t'aider par le biais de la communauté.
Commence à coder quelques lignes et nous t'aiderons.
-
pas exactement mais c'est dans l'dée
En fait il n'aura pas le choix du mode d'expédition car les expéditions sont faites par un seul transporteur et ce transport nous fait passer le tableau des
tarifs qu'il applique selon l'adresse de destination. Donc une fois le pays selectionné le transport doit être automatiquement calculé selon les deux premier chiffre du code postal (c'est à dire en fonction du département)
-
compris ! tu souhaites afficher le transport une fois le pays et mode d'expédition renseignés ?
-
Bonjour,
Voila, lorsque le client commande un article et qu'il arrive sur le caddie, je voudrais que le premier affichage du caddie ne comporte pas le cout du transport, car
le transport est facturé selon l'adresse de livraison (sans choix possible par le client - il sélectionne l'adresse de livraison et le calcul du transport devra etre
automatisé selon un tableau de tarifs) et une fois que le client choisi soit :
- récupération de la commande au comptoir
- livraison à l'adresse de facturation
- livraison à une autre adresse
et là en fonction de son choix le cout du transport sera calculé puis apres l'étape '2' il obtiendra les prix définitifs
-
Affichage du caddie / cout du transport
dans Module PEEL Premium pour PEEL SHOPPING
Willy
Posté(e) · Signaler ce message
Pour moi, il faut renseigner ces varaibles manquantes par des valeurs par defaut, par ex pays a france et zone et type par le moins cher.
Ensuit passer à l'adresse de livraison et enfin réafficher le tout.
Mais vous maitrisez le php pou rfaire tout ca ?
Willy