Flux d’activité

Flux d’activité

  1. Aquarelle a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    Voila ma gestion de stock
    Merci à Willy, Jcdhl, Atila-diffusion et Vidubz001 pour leur précieuse collaboration.

    LIbre à vous de l'utiliser. Le principe de cette gestion est de gérer sur la même page tous les articles, ou de gérer sur la fiche produit.
    Avant de commancer faites des sauvegardes de vos fichiers.

    --Créez un champ "stock" dans la table "peel_produits" (type int(5), attributs UNSIGNED,Null Non.
    Dans le fichier administrer/modeles/haut.php, rajouter la ligne

    <a href="<?php echo $wwwroot?>/administrer/stock.php">Gérer les stocks</a> Dans le répertoire administrer mettez le fichier "stock.php"ci-dessous <?php include("../configuration.inc.php"); necessite_identification(); necessite_priv("admin"); $DOC_TITLE = "Gérer les stocks"; include("modeles/haut.php"); ?> <?php if ($_POST["submit_ajouter"]) { $id=$_POST["temoin"]; $qty=$_POST["ajouter_".$id]; mysql_query("UPDATE peel_produits SET stock=stock+$qty WHERE id='$id'"); } if ($_POST["submit_supprimer"]) { $id=$_POST["temoin"]; $qty=$_POST["supprimer_".$id]; mysql_query("UPDATE peel_produits SET stock=stock-$qty WHERE id='$id'"); } if (!isset($tab_error)) { $tab_error=array(); } ?> <div align="center"><font style="font-size:13px"><b>Gestion des Stocks </b></font> <br><br> <?php $result_peel_produits=mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM peel_produits")); if ($result_peel_produits[0]==0) { ?> <div align="center">Aucun produit pour le moment, gestion des stocks fermée !</div> <?php } else { ?> <form style="margin:Opx" method="post" action="#" name="form_stock"> <table align="center" cellpadding="4" cellspacing="1" border="0"> <tr bgcolor="#666666"> <td align="left" style="color:#FFFFFF">Apercu</td> <td align="left" style="color:#FFFFFF">Produit</td> <td align="left" style="color:#FFFFFF">Stock</td> </tr> <?php $cpt=0; $query_stock = mysql_query("SELECT * FROM peel_produits"); while ($result_peel_produits = mysql_fetch_assoc($query_stock)) { if ($cpt%2==0) { $bgcolor="CCCCCC"; } else { $bgcolor="DEDEDE"; } ?> <tr bgcolor="<?=$bgcolor;?>"> <td> <img src="<?php echo $repertoire_images?>/<?php echo $result_peel_produits['image1'] ?>" valign="top" width="150" alt="" /></td> <td style="color:000000; font-size:14px" align="left" width="250" nowrap><b><?php echo $result_peel_produits["nom"];?></b> </td> <td align="left"> <font style="font-size:13px"><b>En stock:</b> <? if ($result_peel_produits["stock"]==0) { ?><font color="#FF0000"><? } ?><?php echo $result_peel_produits["stock"];?><? if ($result_peel_produits["stock"]==0) { ?></font><? } ?></font><br><br> Ajouter:     <input type="text" value="1" name="ajouter_<?php echo $result_peel_produits["id"];?>">    <input type="submit" value="ok" name="submit_ajouter" onClick="document.getElementById('temoin').value='<?php echo $result_peel_produits["id"];?>'"><br> Supprimer: <input type="text" value="1" name="supprimer_<?php echo $result_peel_produits["id"];?>">   <input type="submit" value="ok" name="submit_supprimer" onClick="if (this.value><?php echo $result_peel_produits["stock"];?>) { alert('Vous ne pouvez pas supprimer plus que vous n\'avez en stock !'); return false; } else { document.getElementById('temoin').value='<?php echo $result_peel_produits["id"];?>'; }"> </td> </tr> <?php $cpt++; } ?> </table> <input type="hidden" name="temoin" value="0"> </form> <? } ?> <br> A ce stade vous avez dans le backoffice un lien "Gérer les stocks"que vous pouvez utiliser pour obtenir ceci Bon c'est tout pour ce soir, je vais préparer la suite. Finalement je continu la suite Dans index.php vers lignes 36 environ, rajouter dans le select: stock vers lignes 92 modifiez le formulaire comme ceci pour afficher le stock dans la liste déroulante <form method="post" action="<?php echo $wwwroot?>/achat/caddie_ajout.php" name="ajout<?php echo $prod['id'] ?>"> <input type="hidden" name="stock" value="<? echo $prod['stock']; ?>"> <span class="impression" > <? if ($prod['stock']>0){ ?> Quantité : <select name="qte" class="formulaire1"> <?php // Affiche la quantité en stock $i=1; while ($i<=$prod['stock']) { echo "<option value=\"$i\">$i</option>"; $i++; } } ?> </select> Dans achat/modeles/produit_details.php vers lignes 130 faire la même modif Dans achat/index.php vers lignes 130 même modif et vers lignes 74 rajouter dans le select p.stock Dans achat/produit_details.php versligne 48 dans le select rajouter p.stock J'espére n'avoir rien oublié Un petit probléme à résoudre.L'on peut commander plus que le stock. Donc pour corriger ce probméme faites ceci: Dans le fichier lib/class/caddie.php ligne 23 remplacez la fonction ajout par celleci function ajout(&$produitid, $quantite,$stock) { /* Ajoute un article au caddie et met à jour le montant total */ if (isset($produitid)) { if (! isset($this->articles[$produitid])) { $this->articles[$produitid] = 'O'; } $this->articles[$produitid] += $quantite; if ($this->articles[$produitid]>$stock) { $this->articles[$produitid]=$stock; } } } Dans fichier achat/caddie_ajout.php on ajoute $_REQUEST['stock'] <?php include("../configuration.inc.php"); $_SESSION['caddie']->ajout($_REQUEST['id'], $_REQUEST['qte'], $_REQUEST['stock']); $_SESSION['caddie']->nettoie(); $_SESSION['caddie']->recalc_total(); $HTTP_REFERER = $_SERVER['HTTP_REFERER']; if (! empty($HTTP_REFERER)) { header("Location: $HTTP_REFERER"); } else { header("Location: $wwwroot/index.php"); } ?> Je peux donc tester lors de l'ajout si la quantité voulue n'est pas supérieure à la quantité disponible. Dans fichier achat/modeles/caddie.php, il faut chercher la ligne : <input type="text" size="3" name="quantite[]" value="<?php echo $quantite?>" /> Et la remplacer par : <select name="quantite[]" class="formulaire1"> <?php // Affiche la quantité en stock $i=1; while ($i<=$prod['stock']) { echo "<option value=\"$i\""; if ($i==$quantite) {echo" selected";} echo " >$i</option>"; $i++; } ?> </select> De cette façon, on a une liste déroulante avec la quantité en stock. La condition sert à sélectionner la quantité qu'on a ajouté. Il ne faut pas oublier de modifier la fonction "recupere_articles_caddie" dans le fichier lib/fonctions/fonctions.php vers ligne 414 pour avoir le stock disponible. rajoutez "stock" dans le select $requete = "SELECT id, reference, nom, promotion, prix, tva, stock FROM peel_produits WHERE id IN ($in_clause)"; ahhhhhhhhh j'oubliais le plus important: mettre à jour les stocks au moment de la commande et si stock = 0, alerte émail et le produit n'est plus en ligne. Dans lib/fonctions/fonctions.php dans function cree_commande à la fin juste entre mysql_query($requete); et return $commandeid; insérez le code suivant $st = mysql_fetch_array(mysql_query("SELECT stock FROM peel_produits WHERE id = '".$article['id']."'")); $stock = $st['stock'] - $_SESSION['caddie']->articles[$article['id']]; if ($stock >= 0) { $stock_à_update = $stock; } else { $stock_à_update = 0; } if ($stock <= 0) { // Mail à l'adresse de l'admin pour recharger le stock $Stock_a_zero = "Attention: Le produit '".addslashes($article['nom'])."' n'as plus de stock"; mail($support, "Alerte Stock", $Stock_a_zero, "FROM:$support"); // on fera ensuite une propriété en ligne ou non quand pas en stock $requete_non_online = "UPDATE peel_produits SET etat = 0 WHERE id = '".$article['id']."'"; mysql_query($requete_non_online); } $requete_stock = "UPDATE peel_produits SET stock = $stock_à_update WHERE id = '".$article['id']."'"; mysql_query($requete_stock); } } } A ce stade on gére le stock sur une page à part. On peut rajouter une gestion sur la fiche produit. Ci-joint les modifications dans administrer/produits.php pour le stock à partir des fiches produits Ajouter ce qui suit vers ligne 348 <tr> <td class="normal">Quantité en stock:</td> <td class="normal"> <input type="texte" name="stock" value="<?php echo vb($frm['stock']) ?>" style="width: 60%" class="formulaire1" /> </td> </tr> Puis Modifier la fonction insere_produit par valide($frm['on_special']); valide($frm['etat']); $nom = addSlashes($frm['nom']); $description = addSlashes($frm['description']); $descriptif = addSlashes($frm['descriptif']); /*ajoute le produit dans la table produits */ $qid = mysql_query(" INSERT INTO peel_produits ( reference , nom , description , prix , descriptif , image1 , image2 , image3 , image4 , pdf , lang , promotion , stock , tva , etat , date_insere , date_maj , on_special) VALUES ( '$frm[reference]' , '$nom' , '$description' , '$frm[prix]' , '$descriptif' , '$img1' , '$img2' , '$img3' , '$img4' , '$pdf' , 'fr' , '$frm[promotion]' , '$frm[stock]' , '$frm[tva]' , '$frm[etat]' , now() , now() , '$frm[on_special]') "); Et modifier la fonction maj_produit par valide($frm['on_special']); $nom = addSlashes($frm['nom']); $description = addSlashes($frm['description']); $descriptif = addSlashes($frm['descriptif']); /* Met à jour la table produits */ $qid = mysql_query(" UPDATE peel_produits SET reference = '$frm[reference]' ,nom = '$nom' ,description = '$description' ,prix = '$frm[prix]' ,descriptif = '$descriptif' ,image1 = '$img1' ,image2 = '$img2' ,image3 = '$img3' ,image4 = '$img4' ,pdf = '$pdf' ,lang = 'fr' ,promotion = '$frm[promotion]' ,stock = '$frm[stock]' ,tva = '$frm[tva]' ,etat = '$frm[etat]' ,date_maj = now() ,on_special = '$frm[on_special]' WHERE id = $id "); A partir de là on peut gérer la quantité en stock dans les deux pages (produits et stock) Notre ami Castalibre, nous donne un script pour mettre à jour le stock si la commande est annulée Dans le fichier administrer/commandes.php, on peut remplacer la fonction efface commande par celle ci : function efface_commande($id) { /* Efface la commande dont le n° est $id */ global $wwwroot; $articles_commande=mysql_query("select * from peel_commandes_articles where commande_id='$id'"); $nombre_articles=mysql_num_rows($articles_commande); for($i=1;$i<=$nombre_articles;$i++) { $fiche=mysql_fetch_object($articles_commande); $produit=$fiche->produit_id; $quantite=$fiche->quantite; $article_maj=mysql_query("update peel_produits set stock=stock+$quantite where id='$produit'"); } $efface_commandes = mysql_query("DELETE FROM peel_commandes WHERE id = '$id'"); $efface_commandes_articles = mysql_query("DELETE FROM peel_commandes_articles WHERE commande_id = '$id'"); include("modeles/commande_efface.php"); } Si le script au moment de la commande met l'article "hors ligne" si stock=0, il faut remettre cet article en ligne puisque stock positif // on remet le produit en ligne quand stock positif $requete_online = "UPDATE peel_produits SET etat =1 WHERE id = '".$produit."'"; mysql_query($requete_online);
    • 78 réponses
    • 78 689 vues
  2. Sam59 a ajouté un message dans un sujet  Modification des polices   

    Une fois de plus, merci pour ces réponses Paulana, mais si je veux modifier mon style "normal" par exemple, pour le mettre dans une police "non standard" --> ex Comic sans MS.

    Dois-je au préalable downloader un fichier de police quelque part ?
    • 0
  3. graounet a ajouté un message dans un sujet  Frais de port pour autres pays ?   


    En fait j'étudie le phénomène et il y a l'inscripiton des données dans info.inc mais ou se passe la liaision avec achat_maintenant ? Car j'ai change le nom dans varaibles et dans achat_mainetnant et express fonctionne encore mais pas europe ! Bref ça reste en mémoire mais ou ????
    • 0
  4. bouro a ajouté un message dans un sujet  Ajouter un formulaire d'identification sur haut.php   

    ok ya pas de soucis est ce que tu peux me donner ton numéro de téléphone pour que je puisse te contacter et te les donner comme ca je suis sur que personne ne les aura.
    • 0
  5. paulanna a ajouté un message dans un sujet  Ajouter un formulaire d'identification sur haut.php   

    si tu veux je te ragarde cela mais faut me laisser tes accès ftp en MP
    • 0
  6. bouro a ajouté un message dans un sujet  Ajouter un formulaire d'identification sur haut.php   

    J'ai rien compris de ce que vous voulez me dire!! ;)
    Je connais pas trop le php.
    • 0
  7. atila-diffusion a ajouté un message dans un sujet  problème de mise en ligne urgent merci   

    J'ai laissé pour voir si on me remplacais eheh ;)
    • 0
  8. paulanna a ajouté un message dans un sujet  Modification des polices   

    faut regarder à partir de la feuille de style du back office et style.css
    pour le texte c'est bien .normal appel par class="normal"

    pour lire le contenu de la css du back office il faut regarder au début du fichier haut.php
    • 0
  9. Willy a ajouté un message dans un sujet  Ajouter un formulaire d'identification sur haut.php   


    Laisser d'origine ou modifier toutes les fonctions qui faisaient appel aux pages d'enregistrement, mais aussi celles appelées par les pages d'enregistrement.

    Willy
    • 0
  10. Willy a ajouté un message dans un sujet  problème de mise en ligne urgent merci   


    Aquarelle est notre nouveau Atila pour les soucis avec FREE ;)
    • 0
  11. j7cyber a ajouté un message dans un sujet  problème de mise en ligne urgent merci   


    ca marche ;)
    • 0
  12. bouro a ajouté un message dans un sujet  Ajouter un formulaire d'identification sur haut.php   

    Ca a pas marché j'ai tout changé !!! ;)

    y'aurait pas une solution pour ca ?
    • 0
  13. Aquarelle a ajouté un message dans un sujet  problème de mise en ligne urgent merci   

    si t'es chez free il faut mettre un dossier" sessions" à la racine de ton serveur comme dirait "ATILA......."
    • 0
  14. Aquarelle a ajouté un message dans un sujet  problème de mise en ligne urgent merci   


    As tu suivis les instructions ici

    aprés l'exécution de "installer.php" t'as bien renseigné les variables..On dirait que ton site cherche à se connecter en local.
    le fichier info.inc.php est bien en CHMOD 777
    • 0
  15. graounet a ajouté un message dans un sujet  Frais de port pour autres pays ?   


    si ça signifie que j'ai mis (copier collé) une valeur par une fonction d'un type tab[8] (de mémoire) dans le fichier variables la réponse est oui.

    je ne sais quoi faire.... ;)

    fred
    • 0
  16. j7cyber a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    mise en ligne
    Rebonjour,

    Juste un détail supplémentaire, lorque je suis en local tout fonctionne trés bien.
    Là je suis vraiment embété. Je pense pas que çà soit grand chose car juste pour faire un essai j'ai rapidement refais une install neuve avec une BDD vierge, j'ai tout upload et j-ai exactement les mêmes erreurs. Si quelqu'un pouvait m'aider, çà serai carrement cool, parce-que là je sais vraiment pu trop quoi faire.

    Merci d'avance à tous

    excuser moi je me suis tromper ce sujet est en rapport avec le sujet "problème de mise en ligne urgent"
    voila c'était tout. Je vous attend les pro!!!!!
    • 0 réponse
    • 1 660 vues
  17. clicdclic a ajouté un message dans un sujet  frais de port sur shopping   

    gilles
    • 0
  18. j7cyber a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne   

    problème de mise en ligne urgent merci
    Bonjour à tous,

    Je vous décrit mon problème, j'essaie de mettre mon site en ligne, j'ai bien exporté ma base de donnée sur mon hébergeur, j'ai upload toutes les pages, et j'ai des erreurs un peu partout. Je vous donne l'adresse du site "http://www.conceptdentaire.fr". Si vous avez des idées, je vous en serré très reconnaissant.
    Merci d'avance.
    • 6 réponses
    • 3 166 vues
  19. Sam59 a ajouté un sujet dans Module PEEL Premium pour PEEL SHOPPING   

    Modification des polices
    Bonjour,

    Je suis en Peel Premium 2.9.

    Je souhaite modifier la police d'affichage des chapeaux, textes des articles et textes des produits.

    Je pense que le style à modifier est le .normal dans la feuille de style.ccs.
    --> Me le confirmez vous ?

    Existe-il un doc qui reprenne les noms des styles utilisés aux différents endroits du site ? Ca pourrait être utile... car en lisant le code, j'ai parfois du mal à identifier le style utilisé... bon ok je ne suis pas un pro du php, je reconnais, mais je pense bien ne pas être le seul ;)


    Par ailleurs, j'aimerais ajouter une nouvelle police que celle existants en standard (par exemple, comic sans ms).
    J'imagine qu'il faut downloader un fichier de police quelque part, mais où le mettre et sous quel format ?
    Je n'ai en effet pas trouvé de fichier des polices existantes par défaut (tahoma, trebuchet...).

    Merci de vos réponses. :blink:
    • 4 réponses
    • 2 376 vues
  20. Willy a ajouté un message dans un sujet  Frais de port pour autres pays ?   

    As tu attribué une valeur à ta variable europe ?
    • 0
  21. atila-diffusion a ajouté un message dans un sujet  Un p'tit service SVP   

    marche sous firefox et safari! (mac os x)
    • 0
  22. atila-diffusion a ajouté un message dans un sujet  Stock sur shopping   

    c'est là ou je m'arrete aussi.

    Demain le gars retrouve du stock, il devrait tout lever?

    En plus dans les commandes, si le client reveux savoir ce dont il s'agissait...
    • 0
  23. graounet a ajouté un message dans un sujet  Frais de port pour autres pays ?   

    Bon j'observe encore des choses (j'ai commandé un livre mais pour le moment je fais quelques expériences) :

    je change le nom de la variable "express" et cela ne fait rien comme si je ne faisais rien... Et la nouvelle variable "europe" n'existe pas.... bizarre !!!
    • 0
  24. paulanna a ajouté un message dans un sujet  Stock sur shopping   

    mouai, l'idée de mettre l'état à 0 parait etre la mieux indiquée comme le dit willy
    • 0

Twitter Advisto ecommerce

Facebook PEEL Shopping