Earthworm

Utilisateur open source
  • Compteur de contenus

    53
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par Earthworm


  1. Bonjour,

    je rencontre un soucis très embêtant avec le paiement CB d'SPPLUS car lorsqu'une commande passe en milliers soit 1050,28 euros par exemple et que l'on clique pour effectuer notre paiement vers la centrale de SPPLUS, une erreur nous indique qu'un champ est requis mais en examinant bien le problème, notre montant de facture passe à 1,05028 euros ??

    Pourtant dans mes lignes PHP de paiement CB, je suis bien à 2 virgules après la décimale :

    $urlcgihmac = "http://kits.spplus.net/cgi-2007/hmac_myndd.exe";
    
    	$montant= number_format($com->montant,2);

    Merci de votre aide


  2. Bonjour Gilles,

    Voici le code d'un de mes sites (sachant que pour d'autres sites il varie un tut petit peu) :

    function construit_menu_arborescent_catego(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1) 
    
    {
    
    		 global $wwwroot, $catid;
    
    		 $indent_cat +=1;
    
    		 if(is_array($catid)) $catid=0;
    
    		 // Recherche de tous les noeuds ayant $parent comme noeud parent
    
    		 $qid = mysql_query("SELECT id, parent_id, nb, nom_".$_SESSION['langue']." FROM peel_categories WHERE parent_id = $parent_cat AND etat = '1' ORDER BY position");
    
    		 // Si la requete a abouti
    
    		 if($qid){
    
    			// Pour toutes les entrées
    
    			while($cat = mysql_fetch_array($qid)){
    
    				  // Pour aller plus loin on peut gérer des lignes de suite
    
    				  for($i=0;$i<$indent_cat;$i++){
    
    				  }
    
    				  // Recherche d'enfant pour d&eacute;terminer l'aspect de l'icone (feuille ou dossier)
    
    				  $fils_cat = mysql_query("SELECT id, parent_id, nom_".$_SESSION['langue']." FROM peel_categories WHERE parent_id = ".$cat['id']." AND etat = '1' ORDER BY position");
    
    				  $div_cat = mysql_num_rows($fils_cat);
    
    				  // Si il y a des enfants
    
    				  if ($div_cat) {
    
    					  // Ajout du lien (identique &agrave; construit menu)
    
    					  if($cat['id']==$catid) { $sortie_cat .= "<div class=\"selectionne\">";} else { $sortie_cat .= "<div class=\"arbo\">"; }
    
    					  $sortie_cat .= "<a class='menuleft' href='$wwwroot/ot/".mrpropre($cat['nom_'.$_SESSION['langue'].''])."-" . $cat['id'] .".html'>";
    
    					  // Ajout de l'icone du dossier
    
    					  // Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)
    
    					  if($cat['id']==$catid) $sortie_cat .= "<strong>";
    
    					  // Ajoute le nom de la cat&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie
    
    					  $sortie_cat .=  html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);
    
    
    					  // Si c'est la feuille active, la met en gras
    
    					  if($cat['id']==$catid) $sortie_cat .= "</strong>";
    
    
    					 $sortie_cat .= "</a></div><div id=".$cat['id'];
    
    					  // Recherche si le noeud fait partie de l'arborescence du noeud actif
    
    					  parent_noeud_cat($cat['id'],$catid, $actif_cat=0);
    
    					  // Si Oui,
    
    					  if(($cat['id'] == $catid) || ($actif_cat == 1)){
    
    						  // Rends le calque visible
    
    						  $sortie_cat.= " style=\"display:yes;margin-left:1em;\">\n";
    
    					  }
    
    					  else{
    
    						  // Sinon, rends le calque invisible
    
    						  $sortie_cat.= " style=\"display:none\">\n";
    
    					  }
    
    				  }
    
    				  // Sinon, c'est un document 
    
    				  else{
    
    					  // Ajoute le lien (identique &agrave; construit_menu)
    
    					  if($cat['id']==$catid) { $sortie_cat .= "<div class=\"selectionnebis\">";} else { $sortie_cat .= "<div class=\"arbo\">"; }
    
    					  $sortie_cat .= "<a class='menuleft' href='$wwwroot/ot/".mrpropre($cat['nom_'.$_SESSION['langue'].''])."-" . $cat['id'] .".html'>";
    
    					  // Si c'est la feuille active, la met en gras
    
    					  if($cat['id']==$catid) $sortie_cat .= "<strong>";
    
    					  // Ajoute le nom
    
    					  $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);
    
    
    					  // Si c'est la feuille active, la met en gras
    
    					  if($cat['id']==$catid) $sortie_cat .= "</strong>";
    
    
    					   $sortie_cat .= "</a></div>";
    
    				  }
    
    				  // Si c'est un noeud (cat&eacute;gorie)
    
    				  if($div_cat){
    
    					 // Appel r&eacute;cursif pour ajout des enfants
    
    					 construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);
    
    					 // Ferme le calque
    
    					 $sortie_cat.="</div>";
    
    				  }
    
    			}
    
    		 }
    
    }

    Merci

    Jérôme


  3. Bonjour,

    Ayant migré plusieurs sites PEEL Premium de mes clients sur un nouveau serveur, je viens de remarqué que lorsque le menu d'arborescence des catégories rencontrait des difficultés d'affichage !

    En fait, si des sous-rubriques existent dans une sous-catégorie, elle n'apparaît plus ou plutôt le menu se replie.

    Voici un exemple :

    Catégorie A

    - Sous-catégorie A-1

    - Sous-catégorie A-2

    -Sous catégorie A-2-1

    - Sous catégorie A-3

    Catégorie B

    Catégorie C

    En cliquant sur Catégorie A, les sous-catégories A-1,A-2 et A-3 apparaissent bien en déplié.

    Mais dès lors que je cliques sur Sous-catégorie A-2 pour afficher ses sous-catégorie, tout le menu se ferme et je me retrouve à voir :

    Catégorie A

    Catégorie B

    Catégorie C

    Avez-vous déjà rencontré ce problème ?

    Il s'agît d'un pb rencontré sur une version peel premium 4.0 et peel immo.

    Voici un site présentant le problème (cliquez sur Guide Nutritionnel puis L'ânesse) sur www.mon-ami-baptiste.com/boutique

    merci de votre aide

    Jérôme


  4. Bonjour à tous,

    j'ai trouvé une solution, peut-être pas la meilleure mais jusqu'à maintenant la seule qui fonctionne correctement ! :(

    A mon avis, le problème venait du fait que la variable langue "passait mal" quand on était dans une page incluant déjà des variables cachées par l'url rewriting (id, catid,...)

    La voici pour l'exemple de la page produit_details.php :

    Insérer dans la page achat/produit_details.php sous :

    if (empty($_GET['id'])) {
    
    	header("Location: $wwwroot");
    
    	die;
    
    }
    et avant
    $prod = charge_produit(intval($_GET['id']));
    le code suivant :
    # Vérification si demande de changement de langue et si besoin : affectation de la nouvelle langue
    
    	if(ereg("langue=en",$_SERVER["REQUEST_URI"])) {
    
    	unset($_SESSION['langue']);
    
    	$_SESSION['langue']="en";
    
    	} elseif(ereg("langue=fr",$_SERVER["REQUEST_URI"])) {
    
    	unset($_SESSION['langue']);
    
    	$_SESSION['langue']="fr";
    
    	}
    Dans la page modeles/defaut/haut.php, voici le code du lien vers la page en langue différente :
    <a href="<?php echo $_SERVER['SCRIPT_URI'];?>?langue=en" title="English version"><img src="<?=$wwwroot?>/lib/flag/gb.gif" alt="English version" border="0" width="18" height="12"></a>

    Mon code fonctionne pour PEEL Immo et PEEL Premium < 5, mais je suppose que pour la 5 et supérieure, il n'y a pas de souci.

    Vous aurez remarqué que je supprime la session en cours avant de changer pour la nouvelle, peut-être pas nécessaire mais je préfère être sûr.

    Si vous avez des solutions de simplification de code, je suis preneur. ;)


  5. Bonjour,

    J'essaie sans succès d'utiliser la "fonction changement de langue" avec un url rewriting.

    L'exemple concret est de consulter ma fiche produit en version française : achat/cat-categorie-1/produit-1.html

    Et je voudrais par le fait de cliquer sur le drapeau anglais, consulter directement cette même page en anglais sans retourner à la page d'accueil du site.

    J'ai essayer avec le lien suivant dans la page haut.php :

    <a href="<?php echo $actuelle; ?>?langue=en" title="English version"><img src="<?=$wwwroot?>/lib/flag/gb.gif" alt="English version" border="0" width="18" height="12"></a>

    avec la valeur suivante dans mon fichier info.inc.php :

    $actuelle = "http://".$_SERVER["HTTP_HOST"]."".$_SERVER["REQUEST_URI"];
    Mais aucun changement, je retombe bien sur ma page mais la session de ma langue n'est pas remplacée par la nouvelle. Avez-vous une solution ? Earthworm
    Bonjour à tous, j'ai trouvé une solution, peut-être pas la meilleure mais jusqu'à maintenant la seule qui fonctionne correctement ! ;) A mon avis, le problème venait du fait que la variable langue "passait mal" quand on était dans une page incluant déjà des variables cachées par l'url rewriting (id, catid,...) La voici pour l'exemple de la page produit_details.php : Insérer dans la page achat/produit_details.php sous :
    if (empty($_GET['id'])) {
    
    	header("Location: $wwwroot");
    
    	die;
    
    }
    et avant
    $prod = charge_produit(intval($_GET['id']));
    le code suivant :
    # Vérification si demande de changement de langue et si besoin : affectation de la nouvelle langue
    
    	if(ereg("langue=en",$_SERVER["REQUEST_URI"])) {
    
    	unset($_SESSION['langue']);
    
    	$_SESSION['langue']="en";
    
    	} elseif(ereg("langue=fr",$_SERVER["REQUEST_URI"])) {
    
    	unset($_SESSION['langue']);
    
    	$_SESSION['langue']="fr";
    
    	}
    Dans la page modeles/defaut/haut.php, voici le code du lien vers la page en langue différente :
    <a href="<?php echo $_SERVER['SCRIPT_URI'];?>?langue=en" title="English version"><img src="<?=$wwwroot?>/lib/flag/gb.gif" alt="English version" border="0" width="18" height="12"></a>

    Mon code fonctionne pour PEEL Immo et PEEL Premium < 5, mais je suppose que pour la 5 et supérieure, il n'y a pas de souci.

    Vous aurez remarqué que je supprime la session en cours avant de changer pour la nouvelle, peut-être pas nécessaire mais je préfère être sûr.

    Si vous avez des solutions de simplification de code, je suis preneur. :mellow:


  6. Bonjour,

    J'essaie sans succès d'utiliser la "fonction changement de langue" avec un url rewriting.

    L'exemple concret est de consulter ma fiche produit en version française : achat/cat-categorie-1/produit-1.html

    Et je voudrais par le fait de cliquer sur le drapeau anglais, consulter directement cette même page en anglais sans retourner à la page d'accueil du site.

    J'ai essayer avec le lien suivant dans la page haut.php :

    <a href="<?php echo $actuelle; ?>?langue=en" title="English version"><img src="<?=$wwwroot?>/lib/flag/gb.gif" alt="English version" border="0" width="18" height="12"></a>

    avec la valeur suivante dans mon fichier info.inc.php :

    $actuelle = "http://".$_SERVER["HTTP_HOST"]."".$_SERVER["REQUEST_URI"];

    Mais aucun changement, je retombe bien sur ma page mais la session de ma langue n'est pas remplacée par la nouvelle.

    Avez-vous une solution ?

    Earthworm


  7. Bonjour

    > eric-lavoisier : effectivement, je pense que ta méthode est bonne, mais son principe est valable pour la consultation des derniers produits pour tous les visiteurs.

    J'avais omis d'indiquer au départ que cette fonctionnalité servait surtout pour le "visiteur unique". Afin qu'il puisse se rappeler quels produits il a déjà consulté et y revenir directement en cliquant sur limage.

    Mais ta base est bonne sur laquelle je vais essayer de travailler en incluant une "session/cookie" propre à l'utilisateur.

    > Patrice : effectivement c'est deux options seraient indispensables si l'on veut une boutique performante (ce qui est déjà le cas pour PEEL) ;)

    Merci


  8. Bonjour,

    Tout d'abord Meilleurs Voeux à tous !

    Je voulais savoir si certains d'entre vous, avez mis en place dans votre boutique PEEL un système d'affichage de "liste des derniers produits consultés".

    Un système qui afficherait les images 1 des derniers produits consultés.

    Voir l'exemple sur cette boutique (attention, ce site est interdit au moins de 18 ans) :

    http:// fleshion.com/prod_list~pn~Id%E9es+cadeaux~affid~27077~lg~fr~catid~538.htm

    (enlever l'espace rajouté par mes soins après http://)

    Pour ma part j'ai trouvé un système en javascript qui enregistre ma consultation des pages, donc toutes mes dernières pages. Je ne connaîs pas assez javascript pour l'adapter. Voici la source du fichier pour ceux que cela intéresse : http://www.tomcoote.co.uk/JavaScriptCookieCrumbs.aspx

    Merci


  9. Voici ce que j'ai mis dans le fichier fr.php

    define ("MORE_IMAGE", "<img src=\"/images/detail.gif\" alt=\"Voir le détails\" style=\"border:none; width:130px; height:20px; margin-top:5px;\" />",TRUE);

    define ("ADD_CART_IMAGE", "<img src=\"/images/panier.gif\" alt=\"Ajouter au panier\" style=\"border:none; width:130px; height:20px; margin-top:5px;\" />",TRUE);

    Et dans le fichier template.php, jai mis le code suivant :

    echo "<img src=\"images/detail.gif\" align=\"absmiddle\" alt=\""MORE_IMAGE"\" title=\""MORE_IMAGE"\"> <a href=\"achat/produit_details.php?id=".$prod['id']."\">".MORE."</a>";

    echo "<img src=\"images/panier.gif\" align=\"absmiddle\" alt=\""ADD_CART_IMAGE"\" title=\""ADD_CART_IMAGE"\" />";

    Gigi,

    j'avais mal expliqué mon intégration, voici comment le l'ai intégré dans ma page template.php :

    						//echo "<img src=\"images/caddie.gif\" align=\"absmiddle\" alt=\"".ADD_CART."\" title=\"".ADD_CART."\" />";
    
    						echo "<a class=\"normal\" href=\"java script:document.".$form."ajout".$prodId.".submit()\">";
    
    						//echo ADD_CART;
    
    						echo ADD_CART_IMAGE;
    
    						echo "</a>";


  10. Bonne question Paulanna ;)

    Pour garder les deux méthodes où le client (dans mon cas) choisi d'avoir une image dans l'essentiel du site et de garder que le texte dans la colonne de droite (nouveautés, meilleurs ventes...)

    Mais ta solution est aussi bonne.


  11. Bonjour,

    désolé de ne répondre que maintenant.

    Gigi > Si tu veux que tous tes textes "+ de détails" soit remplacés par ton image, dans toute ta boutique, tu remplaces "MORE" par "MORE_IMAGE"

    "ADD_CART" peut être remplacé par une autre variable comme pour "MORE". j'ai opéré de la même façon :

    define ("ADD_CART", "Ajouter au panier",TRUE);
    
    define ("ADD_CART_IMAGE", "<img src=\"/images/commander.png\" alt=\"Mettre dans le panier\" style=\"border:none; width:102px; height:20px; margin-top:5px;\" />",TRUE);

    Et j'ai donc remplacé par "ADD_CART_IMAGE" tous les lieux où étaient indiqués "ADD_CART"

    Jérôme


  12. Bonjour Gigi,

    la méthode de Paulanna est bonne car c'est celle que j'utilisais avant.

    Toutefois, j'ai simplifié le tout en évitant de corriger plusieurs pages PHP.

    Je créé une nouvelle variable dans le fichier fr.php qui se trouve dans /lib/lang/

    Voici ma méthode :

    Trouves la ligne

    define ("MORE", "+ de détails",TRUE);
    et rajoutes en dessous cette ligne
    define ("MORE_IMAGE", "<img src=\"/images/small_view.gif\" alt=\"Plus de détails\" style=\"border:none; width:73px; height:17px; margin-top:5px;\" />",TRUE);

    Les valeurs du style varient suivant le format de ton image, à toi donc de les modifier.

    Ensuite, remplaces la valeur MORE par MORE_IMAGE dans ta boutique.

    Ceci te permet de modifier l'URL de ton bouton qu'une seule fois.

    Jérôme


  13. bonjour à tous,

    je reviens à la charge sur le problème des frais de port car j'ai à nouveau un souci avec mon client. Cette fois c'est différent :

    Une commande de 36 articles au total pour un poids total de 30 526 grammes. Mes critères "tarifs d'expédition par zone / type /poids" sont bien définis et donc les frais ports associés à cette commande sont de 20 €.

    Toutefois, l'acheteur de mon client a reçu son bon de commande avec son montant total TTC normalement calculé mais avec 0€ de frais de port.

    J'ai effectuer des tests de commande (avec IE 7 et Firefox 2.0.4 et différents PC) exactement de la même façon que l'acheteur en intégrant dans le même ordre et au même moment les produits dans le panier et en sélectionnant le "Pays d'expédition" et le "Type d'expédition" au même moment que lui (d'après les stats et le BDC). Et j'ai bien mes 20 euros de frais de port qui me sont facturés... :D

    Ma question est donc : avez-vous rencontré le même problème avec la version PEEL PREMIUM 2006 (version 1.8 si je ne me trompes pas) ? Je soupçonne que le problème provienne de Windows NT 4 (OS de l'acheteur).

    Merci de vos lumières ;)


  14. Bonjour à tous,

    je confirme qu'il faut "tout refaire" pour intégrer sa propre charte graphique au squelette initial.

    Je suis en train de procéder à la mise en place du "TOUT CSS" pour un de mes clients (éviter d'utiliser des tableaux pour la mise en page) et ce en attendant la future version CSS2 de PREMIUM.

    Il convient de bien connaître toutes les relations entre les modèles et include pour conserver notre charte graphique initiale.

    Pour mon client, je suis parti de 0 en créant la charte graphique dans Photoshop puis de la découper en tranches pour une exploitation dans Dreamweaver.

    Et c'est là que le travail devient plus difficile en convertissant les tableaux en calques pour une meilleure intégration ;)

    Si certains ont effectués le même travail, je suis preneur sur des infos intéressantes :D

    Jérôme


  15. Bonjour à tous,

    Et merci pour toutes ces infos.

    J'avais corrigé rapidement le problème hier en rajoutant la ligne suivante dans la page caddie_affichage.php

    $_SESSION['caddie']->recalc_total();
    dans la valeur case "commande" : juste avant
    if (est_identifie()) {
    
    
    				header("Location:$wwwroot/achat/achat_maintenant.php");
    
    
    			} else {
    
    
    				header("Location:$wwwroot/membre.php");
    
    
    			}

    Ce qui permettait d'avoir automatiquement les frais de port correctement à jour après validation des informations de livraison.*

    Je vais donc tester avec la valeur par défaut.

Twitter Advisto ecommerce

Facebook PEEL Shopping