Flux d’activité

Flux d’activité de Messages

  1. pipuce


    bonjour

    j'ai parcouru le forum ou j ai trouvé beaucoup de reponse à mes problémes lié à free.

    Dans mes recherches je me suis attardé sur un question qui a l'aire de revenir trés souvent :

    session start. J ai trouvé paulanna qui donné la reponse en disant qu'il falais cree ce dossier à la racine du serveur ;) je n ai pas compris ou tu devais placé ce dossier ,

    1 à la racine du serveur ? car si tel est le cas je ne c'est command faire ?

    2 à la racine du site. La c'est bon j ai compris.

    merci et ho faite

    ;) super cool paulanna tu est trop fort :P

  2. CédriC


    Bonjour,

    C'est une demande deja traitée dans le forum http://forum.peel.fr/index.php?showtopic=950

    C'est du à la Version PEEL 3.5 à priori ...

    Dans .../modeles/default/template.php, remplacez la fonction affiche_prix par la suivante :

    function affiche_prix($prodId) {
    
    global $wwwroot;
    
    global $repertoire_images;
    
    $resProd = mysql_query("SELECT prix, prix_revendeur, promotion, tva FROM peel_produits WHERE id = '".$prodId."'");
    
    $objProd = mysql_fetch_object($resProd);
    
    /* Choix entre prix grossiste et prix public */
    
    if (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") {
    
    $prix = $objProd->prix_revendeur * (1-$objProd->promotion/100);
    
    $prix_barre = $objProd->prix_revendeur;
    
    } else {
    
    $prix = $objProd->prix * (1-$objProd->promotion/100);
    
    $prix_barre =$objProd->prix;
    
    }
    
    $prix_ht = $prix / (1+$objProd->tva/100);
    
    $prix_barre_ht = $prix_barre / (1+$objProd->tva/100);
    
    echo ($objProd->promotion != 0) ? "<span class=\"prix\">".PROMOTION." : ".$objProd->promotion." %</span><br />" : "";
    
    if (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") {
    
    if ($prix !=0) {
    
    echo "<span class=\"prix\">".PRICE." : </span>";
    
    echo ($objProd->promotion != 0) ? "<span class=\"prix\"><s>".fprix($prix_barre_ht)."</s><br />".fprix($prix_ht)." € H.T.</span>" : "<span class=\"prix\">".fprix($prix_ht)." € H.T.</span>";
    
    }
    
    } else {
    
    if ($prix !=0) {
    
    echo "<span class=\"prix\">".PRICE." : </span>";
    
    echo ($objProd->promotion != 0) ? "<span class=\"prix\"><s>".fprix($prix_barre)."</s><br />".fprix($prix)." € T.T.C</span>" : "<span class=\"prix\">".fprix($prix)." € T.T.C</span>";
    
    
    }
    
    }
    
    }

  3. vidub2001


    Bonsoir,

    Merci beaucoup pour ton code, je vais essayer rapidement

    Cdlt

    Fabrice

    Bonjour,

    Voici l'ancienne requete utilisée pour la recherche :

    //$resultat = mysql_query("SELECT id, reference, nom FROM peel_produits WHERE etat = '1' AND nom LIKE '%" . addslashes($_GET['motclef']) . "%' OR descriptif LIKE '%" . addslashes($_GET['motclef']) . "%' LIMIT $start,$nb");

    et il faut la remplacer par celle-ci :

    $resultat = mysql_query("SELECT peel_produits.id, peel_produits.reference, peel_produits.nom FROM peel_produits LEFT JOIN peel_produits_categories ON peel_produits.id=peel_produits_categories.produit_id

    LEFT JOIN peel_categories ON peel_categories.id=peel_produits_categories.categorie_id WHERE peel_produits.etat = 1 AND peel_categories.etat = 1 AND (peel_produits.nom LIKE '%" . addslashes($_GET['motclef']) . "%' OR peel_produits.descriptif LIKE '%" . addslashes($_GET['motclef']) . "%') LIMIT $start,$nb");

    Explications :

    La catégorie du produit n'est pas directement disponible. Il faut donc passer par l'intermédiaire de 2 jointures succéssives pour trouver l'état de la catégorie du produit.

    La requête suivante sert pour faire la pagination:

    - Ancienne requete :

    //$result=mysql_query("SELECT COUNT(*) FROM peel_produits WHERE nom LIKE '%" . addslashes($_GET['motclef']) . "%' ");

    - Nouvelle requete :

    $result = mysql_query("SELECT COUNT(*) FROM peel_produits LEFT JOIN peel_produits_categories ON peel_produits.id=peel_produits_categories.produit_id

    LEFT JOIN peel_categories ON peel_categories.id=peel_produits_categories.categorie_id WHERE peel_produits.etat = 1 AND peel_categories.etat = 1 AND (peel_produits.nom LIKE '%" . addslashes($_GET['motclef']) . "%' OR peel_produits.descriptif LIKE '%" . addslashes($_GET['motclef']) . "%')");

    N'hésite pas à aller voir sur mon site tu verras que le fonctionnement est OK.

    exemple de recherche : fais une recherche sur le terme feuille. Alors que j'ai plusieurs sous-catégories pour les feuilles de scrapbooking dans la catégorie "scrapbooking" qui ne sont pas encore en ligne, tous les produits de ces catégories sont en lignes mais ils n'apparaitront pas dans les résultats de la recherche.

    Cordialement

    Jcdhl

  4. CédriC


    Bonjour,

    J'ai modifié le système de pagination afin que l'on permette de savoir sur quelle page on navigue...

    Et d'aller directement à la première page comme aller à la dernière.

    Faire une sauvegarde avant d'appliquer les modifications !

    Dans la page ... Achat/index.php

    Au environ de la ligne 183 à 225 nous avons ce code :

    echo "<table border=\"0\" cellpadding=\"0\" width=\"100%\" style=\"border-top: 1px solid #333333;\">";
    
    echo "<tr>";
    
    echo "<td class=\"titre\" width=\"200\" align=\"center\">";
    
    if($start) { echo "<a class=\"titre\" href=\"achat/index.php?catid=".$catid."&start=".($start-$nb)."\">Page précédente</a>";} 
    
    echo "</td>";
    
    $result=mysql_query("SELECT COUNT(*) FROM peel_produits p, peel_produits_categories pc WHERE p.id = pc.produit_id	AND pc.categorie_id = $catid  AND p.etat = 1"); 
    
    $row=mysql_fetch_row($result); 
    
    echo "<td class=\"titre\" align=\"center\">";
    
    //Affichage des pages 
    
    if($row[0]>$nb) {// le nombre d'enreg. est > au nb de lignes d'affichage ?
    
    print("Page : "); 
    
    for($index=0;($index*$nb)<$row[0];$index++) // oui alors on affiche les numéros de pages
    
    { 
    
    ?>
    
    	<b><a class="titre" href="<?=$_SERVER['PHP_SELF']."?catid=".$catid."&start=".$index*$nb; ?>"><? echo $index+1; ?></a></b>
    
    <? 
    
    }
    
    }
    
    echo "</td>";
    
    echo "<td class=\"titre\" width=\"200\" align=\"center\">";
    
    if($row[0]>($start+$nb)) 
    
    { 
    
    print("<a class=\"titre\" href=\"achat/index.php?catid=".$catid."&start=".($start+$nb)."\">Page suivante</a>"); 
    
    } 
    
    echo "</td>";
    
    echo "</tr></table>";
    Le remplacer par le code suivant :
    echo "<table border=\"0\" cellpadding=\"0\" width=\"100%\" style=\"border-top: 1px solid #333333;\">";
    
    echo "<tr>";
    
    echo "<td class=\"pagination\" width=\"200\" align=\"center\">";
    
    //lien pour retourner sur la 1er page.
    
    if($start) { echo " <a class=\"pagination\" title=\"Revenir au début\" href=\"achat/index.php?catid=".$catid."\"><<</a> ";} 
    
    // lien pour retourner à la page précédente
    
    if($start) { echo " <a class=\"pagination\" title=\"Page précédente\" href=\"achat/index.php?catid=".$catid."&start=".($start-$nb)."\"><</a> ";} 
    
    echo "</td>";
    
    $result=mysql_query("SELECT COUNT(*) FROM peel_produits p, peel_produits_categories pc WHERE p.id = pc.produit_id	AND pc.categorie_id = $catid  AND p.etat = 1"); 
    
    $row=mysql_fetch_row($result); 
    
    echo "<td class=\"pagination\" align=\"center\">";
    
    ####################################################
    
    // On teste en affichant la valeur des variables (facultatif)
    
    //Calcul le nombres de pages maximum
    
    $nbpages = ceil($row[0]/$nb);
    
    //echo "Nombre total de <b>".$nbpages." pages</b>.</p>\n";
    
    #########################################################
    
    
    //Declarations des variables ...
    
    //Calcul
    
    $indexnb = ($start/$nb);
    
    $index = $index=0;
    
    
    //Script
    
    if($row[0]>$nb) {// le nombre d'enreg. est > au nb de lignes d'affichage ?
    
    print("Page : "); 
    
    for($index=0;($index*$nb)<$row[0];$index++) // oui alors on affiche les numéros de pages
    
    { 
    
    // Si mon index de pages multiplié par mon nombre d'article par page est égale à ma valeur Start dans mon URL alors je ne met pas de lien et je change sa couleur
    
    if ($index == $indexnb){
    
    $index1 = $index+1;
    
    //Choisir ici la couleur color: ?????;
    
    echo '<b><span style="color:#b34857;">'.$index1.'</span></b>';
    
    }
    
    else {
    
    ?>
    
    	<b><a class="pagination" href="<?=$_SERVER['PHP_SELF']."?catid=".$catid."&start=".$index*$nb; ?>"><? echo $index+1; ?></a></b> 
    
    <? 
    
    }
    
    }
    
    }
    
    echo "</td>";
    
    echo "<td class=\"pagination\" width=\"200\" align=\"center\">";
    
    if($row[0]>($start+$nb)) 
    
    { 
    
    //page suivante
    
    print(" <a class=\"pagination\" title=\"Page suivante\" href=\"achat/index.php?catid=".$catid."&start=".($start+$nb)."\">></a> "); 
    
    //derniere page
    
    $index2 = (($nbpages-1)*$nb);
    
    print(" <a class=\"pagination\" title=\"Dernière page\" href=\"achat/index.php?catid=".$catid."&start=".$index2."\">>></a> "); 
    
    } 
    
    echo "</td>";
    
    echo "</tr></table>";
    Pour le coté visuel Dans le fichier ... Modele/default/style.css A la fin du fichier j'ai rajouté ce code :
    .pagination { font-size: 11px;color: #73656e;}
    
    .pagination a:link { color: #73656e;}
    
    .pagination a:visited { color: #73656e;}
    
    .pagination a:hover { text-decoration:underline;color: #73656e;}

    Bon courage.

Twitter Advisto ecommerce

Facebook PEEL Shopping