Aquarelle
Utilisateur open source-
Compteur de contenus
153 -
Inscrit(e) le
-
Dernière visite
Tout ce qui a été posté par Aquarelle
-
Aquarelle a ajouté un message dans un sujet Fatal error
ce passage vers ligne 107
if (!isset($catid)) { $catid = 0; } $frm['parent'] = array($catid); construit_menu_arborescent_cat($categorie_options, $frm['parent']); echo $categorie_options;
-
0
-
-
Aquarelle a ajouté un message dans un sujet Fatal error
je pense que cette image invisible sert à décaler la sous catégorie par rapport à la catégorie, dans le menu arborescent
Au niveau de modele/haut.php t'as rien touché sur la partie" affichage menu arborescent " ;) ;)
Quand tu crées une 2eme cat tu l'as crée pas sur l'autre ?
-
0
-
-
Aquarelle a ajouté un message dans un sujet Fatal error
actuellement as tu des catégories, je n'en voie aucune d'affichée
-
0
-
-
Aquarelle a ajouté un message dans un sujet Fatal error
cette image est un petit carré blanc
-
0
-
-
Aquarelle a ajouté un message dans un sujet Fatal error
Willy, il y a ça
$sortie_cat .= "<img src=\"$wwwroot/images/mnu_empty.gif\" border=\"0\" alt=\"\" />";
-
0
-
-
Aquarelle a ajouté un message dans un sujet Fatal error
la ligne 304 correspond à la construction du menu arborescent des catégories
*As tu bricolé les fichiers ?
*Est ce un nouveau site ?
*As tu une URL
-
0
-
-
Aquarelle a ajouté un message dans un sujet Fatal error
ton message d'erreur correspond à la "function construit_menu_arborescent_cat"
-
0
-
-
Aquarelle a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne
Voila ma gestion de stockMerci à 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
- 77 731 vues
-
Aquarelle a ajouté un message dans un sujet je n ai plus d image qui s affiche
Peut être un probléme de chemin pour tes répertoires ;)
-
0
-
-
Aquarelle a ajouté un message dans un sujet Voila ma gestion de stock
J'ai essayé dans le formulaire où il y a les 3 statuts de la commande mais l'update agit quelque soit le statut
-
0
-
-
Aquarelle a ajouté un message dans un sujet Voila ma gestion de stock
le code du dessus c'est quand on supprime la commande.
Sinon le détail commande a 3 statuts
1*attente réglement
2*réglée
3*annulée
dans le 3* cas on pourrait remettre le stock a jour
-
0
-
-
Aquarelle a ajouté un message dans un sujet Voila ma gestion de stock
reste =>commande annulée=>update=>stock ;) ;)
-
0
-
-
Aquarelle a ajouté un message dans un sujet Voila ma gestion de stock
Bravo, 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);
;)
-
0
-
-
Aquarelle a ajouté un message dans un sujet Proposition de correctif pour 2.9.3
Il doit avoir plusieurs versions de 2.9.3 car sur la mienne je n'ai pas d'erreur!!!! ;) ;) :P
Je confirme j'ai les 2 versions 2.9.3 :celle que j'ai en ligne la plus récente avec l'erreur
et l'autre en local sans l'erreur
-
0
-
-
Aquarelle a ajouté un message dans un sujet [CHERCHE] Comment insérer un Copyright sur mes images
http://www.phpcs.com/codes/CREATION-IMAGE-GD2_38758.aspx ;)
-
0
-
-
Aquarelle a ajouté un message dans un sujet Voila ma gestion de stock
la mise à jour du stock se faisant automatiquement au moment de la validation de la commande, si celle ci est annulée ou pas honorée il faut remettre manuellement le stock, en attendant d'avoir un script pour le faire. :D
-
0
-
-
Aquarelle a ajouté un message dans un sujet Probleme dans le backoffice
tu as bien changé ton login tout de suite aprés avoir mis en ligne........car il y a toujours des petits malins
-
0
-
-
Aquarelle a ajouté un message dans un sujet Probleme dans le backoffice
j'ai trouvé ton login ne l'envoie pas
c'est bizare. Moi je changerais le fichier administrer/index.php
-
0
-
-
Aquarelle a ajouté un message dans un sujet Probleme dans le backoffice
désolé, je peux pas t'aider. Si on rajoute "log" à la suite de ton url , une fenètre d'autentification s'ouvre.
t'as changé ton login et pass tout de suite quand ta mis en ligne ?
-
0
-
-
Aquarelle a ajouté un message dans un sujet Probleme dans le backoffice
il contient quoi
-
0
-
-
Aquarelle a ajouté un message dans un sujet Probleme dans le backoffice
t'as modifié des fichiers
-
0
-
-
Aquarelle a ajouté un message dans un sujet Probleme dans le backoffice
t'as du modifier le login le mot de passe ou le privilége .Vérifie dans la bdd dans la table utilisateurs; tu cliques sur afficher et regarde si t'as "admin" dans la colonne "priv" sur la ligne de ton émail
-
0
-
-
Aquarelle a ajouté un message dans un sujet intégration dans un template
C'est un peu confus dans ma petite tête, tu veux stocker dans le panier des préférences ? Peux tu donner plus d'explications avec un exemple concret :D :D
-
0
-
-
Aquarelle a ajouté un message dans un sujet intégration dans un template
Si je comprends bien tu veux que le panier reste à 1 si on ajoute plusieur fois 1 unité :D
-
0
-
-
Aquarelle a ajouté un message dans un sujet besoin d'aide pour faire la Mise en ligne
IL faut écrire dans la barre d'adresse
http://www.nom_de_votre_site/installer.php et cliquer sur ok
quand les champs sont remplis il y a un lien "accéder à la boutique"
En faite la page obtenu avec installer.php correspond avec le fichier lib/setup/info_inc_php qui stocke les variables de votre site
-
0
-