Flux d’activité

Flux d’activité de Messages

  1. Kristo


    Bonjour,

    J'ai exactement le meme problème que sayaflo : comment faire pour ajouter un critère sur certains produits : la taille ou la couleur par exemple ? :huh:

    Des T-shirts de tailles S, M, L, XL et de couleurs Bleu, Rouge, Vert par exemple; et faire en sorte que les acheteurs puissent choisir la taille et la couleur...

    Sayaflo si tu as réussi à le faire, peux-tu expliquer ici quelles sont les modifs à faire dans la base et dans le code ?

    Sinon, quelqu'un peut-il nous aider ?

    Merci... help je suis bloqué... ;)

  2. Kristo


    Bonjour,

    Les corrections pour éviter cette faille n'ont pas été faites par défaut dans la version de Peel Shopping disponible actuellement (3.0 beta) apparemment...

    Pouvez-vous préciser un peu mieux où mettre ces modifs ?

    Je vois a quoi sert

    $search = array("<",">","/","'","", "%3c", "%3e",";","?");

    $replace = array("_","_","_","_","_","_","_","_","_");

    $motclef = str_replace($search,$replace,$motclef );

    Mais ca, à quoi ca sert et où le mettre ? :

    Puis

    $SqlRequest = "SELECT id, reference, nom_".$_SESSION['langue'].", image1, prix, promotion FROM peel_produits WHERE

    etat = '1' AND (reference LIKE '%" . $motclef . "%'

    OR nom_".$_SESSION['langue']." LIKE '%" . $motclef . "%' OR descriptif_".$_SESSION['langue']."

    LIKE '%" . $motclef . "%') LIMIT $start, $nb";

    Il y a un mysql_query dans recherche.php...

  3. amap


    merci Paulanna, mais, si je fais ça dans achat caddie affichage :

    $_SESSION['caddie']->nettoie();

    $_SESSION['caddie']->recalc_total();

    }

    if (! empty($_SERVER['HTTP_REFERER'])) {

    header("Location: ".$_SERVER['HTTP_REFERER']."");

    } else {

    header("Location:$wwwroot/achat/caddie_affichage.php");}

    }[/codebox]

    il ne se passe rien, on est toujours renvoyé à la page de l'article qui a été ajouté, mais, pas à la page du caddie.

    Si je fais ça :

    [codebox]$_SESSION['caddie']->ajout();
    $_SESSION['caddie']->nettoie();
    $_SESSION['caddie']->recalc_total();

    }

    if (! empty($_SERVER['HTTP_REFERER'])) {

    header("Location: ".$_SERVER['HTTP_REFERER']."");

    } else {

    header("Location:$wwwroot/achat/caddie_affichage.php");}

    alors, là, c'est pire, que je clique sur ajouter au caddie, il y a une page pleine de ligne d'erreurs,

    Je ne fais pas bien les choses,

    Désolée, j'ai essayé, mais merci quand même

    bonne journée,

    Jackye

  4. Clivia


    Bonjour,

    le problème se situe dans le fichiers /lib/fonctions/fonctions.php au niveau de la fonction cree_commande

    Repère le code suivant

    if ($stock_restant <= 0)

    $contenu = "Le produit ".html_entity_decode($article['nom'])." est actuellement en rupture de stock sur votre boutique en ligne.\n\rIl ne peut plus être commandé. Pensez à réapprovisionner votre back office.";

    mail($support,"[$site] Notification d'alerte d'un produit hors stock", $contenu,"From:$support");
    [/codebox]

    et rajoute les accolades qui font défaut, comme ceci :

    [codebox]if ($stock_restant <= 0)
    {
    $contenu = "Le produit ".html_entity_decode($article['nom'])." est actuellement en rupture de stock sur votre boutique en ligne.\n\rIl ne peut plus être commandé. Pensez à réapprovisionner votre back office.";
    mail($support,"[$site] Notification d'alerte d'un produit hors stock", $contenu,"From:$support");
    }

    Et le problème est réglé.

    Clivia

  5. paulanna


    c'est quoi la ligne 569 ?

    sinon essaye ça :

    <?php
    
    
    
    echo (!empty($prod['image1'])) ? 
    
    
    "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"468\" height=\"60\">
    
    <param name=\"movie\" value=\"$repertoire_upload/".$prod['image1']."\" width=\"150\" border=\"0\" title=\"".$prod['nom_'.$_SESSION['langue'].'']."\"/>
    
    <param name=\"quality\" value=\"high\">
    
    <embed src=\"$repertoire_upload/".$prod['image1']."\" width=\"150\" border=\"0\" title=\"".$prod['nom_'.$_SESSION['langue'].'']."\"/ quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"\" height=\"\"></embed></object> ";
    
    
    
    : "<img src=\"$wwwroot/images/photo-non-disponible.gif\" width=\"130\" alt=\"photo non disponible\" border=\"0\">";
    
    
    
    
    
    ?>

  6. eastcoast


    D'origine on affiche une image avec la balise <img>, là il faut mettre à la place le code pour visualer une animation flash.

    Willy

    Bonjour,

    suivant vos conseils, j'ai modifié dans template.php la fonction template_index_produit.

    j'ai remplacé la ligne :

    echo (!empty($prod['image1'])) ? "<img src=\"$repertoire_upload/".$prod['image1']."\" width=\"150\" border=\"0\" title=\"".$prod['nom_'.$_SESSION['langue'].'']."\"/>" : "<img src=\"$wwwroot/images/photo-non-disponible.gif\" width=\"130\" alt=\"photo non disponible\" border=\"0\">";

    par :

    echo (!empty($prod['image1'])) ? "<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">

    <param name="movie" value=\"$repertoire_upload/".$prod['image1']."\" width=\"150\" border=\"0\" title=\"".$prod['nom_'.$_SESSION['langue'].'']."\"/>

    <param name="quality" value="high">

    <embed src=\"$repertoire_upload/".$prod['image1']."\" width=\"150\" border=\"0\" title=\"".$prod['nom_'.$_SESSION['langue'].'']."\"/ quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="" height=""></embed></object> ";

    : "<img src=\"$wwwroot/images/photo-non-disponible.gif\" width=\"130\" alt=\"photo non disponible\" border=\"0\">";

    et là j'ai le message d'erreur suivant :

    Parse error: syntax error, unexpected T_STRING in /home.49/d/b/c/dbclothi/www/modeles/default/template.php on line 569

    j'ai du faire une erreur mais je ne sait pas ou !

    pouvez-vous m'aider ?

  7. amap


    pour renvoyer sur le caddie après l'ajout du produit c'est

    header("Location:$wwwroot/achat/caddie_affichage.php");

    comme le dit Patrice

    ds achat/caddie_ajout.php

    yes, Paulanna, j'ai à peu près compris, mais, quand elles sont dans leur caddie affichage après avoir ajouté un produit, quand elles cliquent sur continuer mes achats, j'aimerai qu'elles soient renvoyées à la dernière page qu'elles ont consultée, donc, est ce que :

    header("Location:$wwwroot/achat/caddie_affichage.php"); est suffisant.

    Tu me diras que "jai qu'à essayer, tu verras bien"

    merci Paulanna,

    bonne journée,

    Jackye

  8. ashwtaen


    C'est évidemment possible, mais dans ce cas il ne faut pas le faire avec l'autoincrément id

    Il faut créer un champ norder dans la table commande de type varchar(10) unique

    Dans la fonction cree_commande de lib/fonctions/fonctions.php, il faut après dans la requête qui insére votre commande

    créer une requête update du type suivant

    $norder = date("Y").$commandeid;
    
    
    mysql_query("update peel_commandes SET norder = '$norder' WHERE id = '$commandeid'");

    Le tour est alors joué, le nouveau numéro de commande sera toujours unique et se trouve dans le champ norder

    Super !!

    Merci chef

  9. ashwtaen


    Vous pouvez faire quelque chose comme ça dans la pagination

    <b><a class="petit" href="<?=$wwwroot."/".$catid."/emballage/".($index*$nb)."/".url_rewriting($objcat->nom).".php";?>">
    
    	<?php 
    
    
    	echo ($index*$nb == $start) ? "<font size=\"+1\">" : "";
    
    
    	 echo $index+1; 
    
    
    	 echo ($index*$nb == $start) ? "</font>" : "";?>
    
    	</a>
    
    	</b>

    Merci chef, ça marche !!!

  10. amap


    merci Mr Pruault,

    mais, mon code doit ressembler à ça :

    <?

    include("../configuration.inc.php");

    if (!isset($_COOKIE['PHPSESSID'])) {

    header("Location: $wwwroot/cookie.php");
    header("Location:$wwwroot/achat/caddie_affichage.php"); // Renvoie sur le caddie
    header("Location:$_SERVER['HTTP_REFERER']"); // Renvoie sur la page précédente
    header("Location:$wwwroot/achat/index.php"); // Renvoie sur lpage catalogue} else {
    [/codebox]

    ou à ça :

    [codebox]$_SESSION['caddie']->ADD_CART($_REQUEST['id'], $_REQUEST['qte']);
    $_SESSION['caddie']->EMPTY_LIST();
    $_SESSION['caddie']->UPDATE();

    header("Location:$wwwroot/achat/caddie_affichage.php"); // Renvoie sur le caddie

    header("Location:$_SERVER['HTTP_REFERER']"); // Renvoie sur la page précédente

    header("Location:$wwwroot/achat/index.php"); // Renvoie sur lpage catalogue

    if (!isset($_COOKIE['PHPSESSID'])) {

    header("Location: $wwwroot/cookie.php");

    ou ni l'un ni l'autre, à mon avis ni l'un ni l'autre,

  11. pruault


    Bonjour,

    Quand je vois le total de la commande et la facture la TVA n'est calculée que sur la valeur du bien et pas sur les frais de port.

    Est il possible d'avoir le calcul de la tva sur les frais de port ?

    par exemple :

    achat d'1 objet X à 500 euros frais de port 10 euros ttc.

    facture :

    ht 418.06

    tva 81.94

    ht 8.36

    tva 1.64

    total ht 426.42

    total tva 83.58

    total ttc 510 euros.

    merci

    il faut ajouter 2 attributs tva_transport et transport_ht dans /lib/class/caddie.php

    je passe sur les déclarations des 2 attributs

    function transport(&$transport) {
    
    	if (isset($transport)) {
    
    			$this->transport = $transport;
    
    			$this->transport_ht = $transport / 1.196;
    
    			$this->tva_transport = $this->transport - $this->transport_ht;
    
    
    
    		}
    
    	}

    Il vous suffit ensuite d'ajouter $_SESSION['caddie']->tva_transport au calcul de la tva dans /achat/modeles/caddie.php et /achat/modeles/achat_confirmation.php ainsi que dans la fonction cree_commande de lib/fonctions/fonctions.php

  12. pruault


    Le code du scroller est le suivant :

    <?php
    
    
    $sqlProdRollover = "SELECT id, nom_".$_SESSION['langue']." as nom, image1, prix FROM peel_produits WHERE on_rollover = '1' ORDER BY date_insere DESC";
    
    
    $resProdRollover = mysql_query($sqlProdRollover) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    
    if (mysql_num_rows($resProdRollover)> 1) {
    
    
    ?>
    
    
    <script type="text/javascript">
    
    
    var pausecontent=new Array()
    
    
    <?php
    
    
    
    if ($resProdRollover) {
    
    
    	if (mysql_num_rows($resProdRollover)> 0) {
    
    
    	$i = 0;
    
    
    		while ($ProdRollover = mysql_fetch_array($resProdRollover)) {
    
    
    		$prix = $ProdRollover['prix'];
    
    
    		$prix = fprix($prix);
    
    
    			echo "pausecontent[".$i."]='<a class=\"normal\" href=\"achat/produit_details.php?id=".$ProdRollover['id']."\">".html_entity_decode(strip_tags($ProdRollover['nom']))."</a><br /><font class=\"normal\">".$prix." ".$_SESSION['devise']['symbole']."<br /><div align=\"center\"><img src=\"$repertoire_upload/".$ProdRollover['image1']."\" alt=\"".$ProdRollover['nom']."\" width=\"120\" /></div></fopt>'\n\r";
    
    
    		$i++;
    
    
    		}
    
    
    	} else {
    
    
    		echo "pausecontent[".$i."]=''\n\r";
    
    
    	}
    
    
    }
    
    
    ?>
    
    </script>
    
    
    <script type="text/javascript">
    
    
    /***********************************************
    
    * Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com)
    
    * This notice MUST stay intact for legal use
    
    * Visit http://www.dynamicdrive.com/ for this script and 100s more.
    
    ***********************************************/
    
    
    function pausescroller(content, divId, divClass, delay){
    
    this.content=content //message array content
    
    this.tickerid=divId //ID of ticker div to display information
    
    this.delay=delay //Delay between msg change, in miliseconds.
    
    this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
    
    this.hiddendivpointer=1 //index of message array for hidden div
    
    document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
    
    var scrollerinstance=this
    
    if (window.addEventListener) //run onload in DOM2 browsers
    
    window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
    
    else if (window.attachEvent) //run onload in IE5.5+
    
    window.attachEvent("onload", function(){scrollerinstance.initialize()})
    
    else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
    
    setTimeout(function(){scrollerinstance.initialize()}, 500)
    
    }
    
    
    // -------------------------------------------------------------------
    
    // initialize()- Initialize scroller method.
    
    // -Get div objects, set initial positions, start up down animation
    
    // -------------------------------------------------------------------
    
    
    pausescroller.prototype.initialize=function(){
    
    this.tickerdiv=document.getElementById(this.tickerid)
    
    this.visiblediv=document.getElementById(this.tickerid+"1")
    
    this.hiddendiv=document.getElementById(this.tickerid+"2")
    
    this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
    
    //set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
    
    this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidt
    
    h-(this.visibledivtop*2)+"px"
    
    this.getinline(this.visiblediv, this.hiddendiv)
    
    this.hiddendiv.style.visibility="visible"
    
    var scrollerinstance=this
    
    document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
    
    document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
    
    if (window.attachEvent) //Clean up loose references in IE
    
    window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseou
    
    t=null})
    
    setTimeout(function(){scrollerinstance.animateup()}, this.delay)
    
    }
    
    
    
    // -------------------------------------------------------------------
    
    // animateup()- Move the two inner divs of the scroller up and in sync
    
    // -------------------------------------------------------------------
    
    
    pausescroller.prototype.animateup=function(){
    
    var scrollerinstance=this
    
    if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
    
    this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
    
    this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
    
    setTimeout(function(){scrollerinstance.animateup()}, 50)
    
    }
    
    else{
    
    this.getinline(this.hiddendiv, this.visiblediv)
    
    this.swapdivs()
    
    setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
    
    }
    
    }
    
    
    // -------------------------------------------------------------------
    
    // swapdivs()- Swap between which is the visible and which is the hidden div
    
    // -------------------------------------------------------------------
    
    
    pausescroller.prototype.swapdivs=function(){
    
    var tempcontainer=this.visiblediv
    
    this.visiblediv=this.hiddendiv
    
    this.hiddendiv=tempcontainer
    
    }
    
    
    pausescroller.prototype.getinline=function(div1, div2){
    
    div1.style.top=this.visibledivtop+"px"
    
    div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
    
    }
    
    
    // -------------------------------------------------------------------
    
    // setmessage()- Populate the hidden div with the next message before it's visible
    
    // -------------------------------------------------------------------
    
    
    pausescroller.prototype.setmessage=function(){
    
    var scrollerinstance=this
    
    if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
    
    setTimeout(function(){scrollerinstance.setmessage()}, 100)
    
    else{
    
    var i=this.hiddendivpointer
    
    var ceiling=this.content.length
    
    this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
    
    this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
    
    this.animateup()
    
    }
    
    }
    
    
    pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
    
    if (tickerobj.currentStyle)
    
    return tickerobj.currentStyle["paddingTop"]
    
    else if (window.getComputedStyle) //if DOM2
    
    return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
    
    else
    
    return 0
    
    }
    
    
    </script>
    
    
    <script type="text/javascript">
    
    
    new pausescroller(pausecontent, "pscroller1", "someclass", 3000)
    
    
    </script>
    
    
    <?php }  ?>

  13. pruault


    J'entend par agrandir, augmenter la taille de la police,

    Dans gèrer la feuille de style dans le backoffice, on sait changer la taille de la Taille du texte: 10 px 11 px 12 px 13 px 14 px 15 px 16 px 17 px 18 px

    Mais cela ne change pas la valeur de la taille du menu du haut.

    Sinon et pour centrer ce menu?

    Cordialement

    Guillaume

    il faut modifier /lib/css/admin.css pour modifier la taille du texte du back office

Twitter Advisto ecommerce

Facebook PEEL Shopping