Posted 1 Dec 2013 · Report post Bonjour, j'ai la version 7.0.4 de peel shopping, j'ai mis un produits mais je ne vois pas ou mettre le nombre de produits disponible, si j'ai un stock de 4 pour le produit, les clients peuvent en acheter 10 000 sans probleme... Merci Share this post : post Share on other sites
Posted 2 Dec 2013 · Report post Bonjour, Dans la page de détail du produit il faut dans un premier temps cocher la case "Gérer le stock de ce produit :". Il sera ensuite possible d'ouvrir la fenêtre de gestion du stock pour ce produit (icône du cadencier). Share this post : post Share on other sites
Posted 2 Dec 2013 · Report post Bonjour, Et sauf erreur de ma part, il faut avoir peel premium pour la gestion des stocks non ? Share this post : post Share on other sites
Posted 2 Dec 2013 · Report post Ha oui il faut donc la version premium pour la gestion classic des stock alors que sur les ancienne version la gestion classic des stock était inclus... Si c'est bien le cas il ne me reste plus qu'une choses a faire, codé tout ça moi même... La BDD est deja prévu, normalement ajouter sur le back office et insert dans la BDD affichage sur la page produit et blocage du bouton en cas de stock a 0 vérification avant validation panier et décompté les stock lors de la validation... pas mal de choses a faire mais bon la premium + pack juste pour ca, pour une boutique qui débute.... Ou alors remettre une ancienne version mais j'aurai fait mon theme pour rien :( Enfin merci pour les info et toutes autre info sont les bienvenue... Share this post : post Share on other sites
Posted 3 Dec 2013 · Report post Bonjour, Pour information la gestion de stock basique des vieilles versions de PEEL Shopping était incomplète et posait des problèmes d'incohérence structurelle, tandis que la version plus évoluée de la gestion des stocks du module Premium était complète mais compliquée à faire évoluer et à parfaire. Nous avons donc il y a environ 2 ans supprimé la gestion des stocks basique, en même temps que nous passions de nombreuses fonctionnalités de Premium vers Shopping. Et nous avons refait ensuite la gestion de stocks de Premium avec plusieurs lots de modifications, pour avoir un module qui actuellement nous parait satisfaisant. Le module Premium est payant pour nous permettre d'investir au mieux dans le développement de PEEL Shopping qui est gratuit et s'enrichit rapidement à tous niveaux : fonctionnel, technique, et apparence. Ceci correspond à un modèle qu'on appelle "Freemium", et n'est en aucun cas une punition mais une manière de segmenter l'offre pour trouver le meilleur équilibre possible. Concernant l'acquisition du module Premium, nous soutenons tous ceux qui démarrent leurs boutiques et ont de faibles moyens pour investir, contactez-nous par téléphone en expliquant votre situation et nous chercherons à répondre à vos besoins au mieux. Gilles Share this post : post Share on other sites
Posted 3 Dec 2013 · Report post Merci pour ses info, je comprend très bien mais j'ai juste besoin de limité les articles sans avoir besoin de gestion complexe avec les couleur, taille, etc... Dans un premier temps, je vais codé un truc pour me dépanné, par la suite je penserai a passé a la premium si tout va bien... Sinon super boulot, bonne continuation ;) Share this post : post Share on other sites
Posted 9 Dec 2013 · Report post Rebonjour, Je bloque sur un passage du code, j'aimerai afficher dans le panier pour chaque articles, la quantité renseigné dans la BDD dans la fiche produit pour le champ 'stock'. Donc avoir simplement sur chaque ligne a coté de la quantité commandé, un truc du genre stock=15 si le champ 'stock' sur mon produit est a 15. Je vois que la gestion des donnée se font sur display_caddie.php et que des données sont envoyé vers caddie_products_summary_table.tpl mais je bloque.... Si j'utilise un echo sur la page php je vois bien les valeur s'inscrire en haut les une apres les autre mais quand j'utilise le code $tpl->assign('stockdispo',$stockdispo); echo $stockdispo. "<br>"; sur la page php et: Max:{$stockdispo} sur la page tpl J'ai bien les different stock en haut grace a echo en php mais a coté de mes produit ca prend la valeur du dernier et met cette valeur a tous les produits... Merci pour votre aide ;) Share this post : post Share on other sites
Posted 10 Dec 2013 · Report post Bonjour, Dans la fonction get_caddie_products_summary_table, il faut passer votre valeur stockdispo au fichier get_caddie_products_summary_tabletpl en passant par la variable PHP $tmpProd qui stock les valeurs produits par produits. Vous pouvez ensuite récupérer cette valeur dans le fichier tpl avec {$p.stockdispo} Share this post : post Share on other sites
Posted 10 Dec 2013 · Report post Merci pour la réponse Simon , je test ça immédiatement. Share this post : post Share on other sites
Posted 10 Dec 2013 · Report post Ca fonctionne pas :( je rappel que j'ai peel shopping il me donne ceci: Notice: Undefined index: stockdispo in /homez.800/designna/www/lib/templateEngines/smarty/compile/5c050bb108d9e3a278170fd339bf0e4540408ea9.file.caddie_products_summary_table.tpl.php on line 252 J'ai mis dans get_caddie_products_summary_table ceci: $tmpProd['stockdispo'] = $product_object->on_stock; Je sais que dans on_stock on met la gestion du stock et pas le stock réel mais j'ai fait comme ca depuis le debut et tout le reste fonctionne. et dans caddie_products_summary_table.tpl: test= {$p.stockdispo} Par contre avec le echo $product_object->on_stock; sur le fichier php; il m'affiche bien les bonne valeur de stock a savoir 5 10 Mais il ne les transmet pas au tpl <_< Je deviens fou, je suis sur ça depuis avant-hier :( Merci pour votre aide Share this post : post Share on other sites
Posted 10 Dec 2013 · Report post Je pense que c'est bon, j'ai changer l'emplacement de $tmpProd['stockdispo'] = $product_object->on_stock; au lieux de le mettre avant if (is_stock_advanced_module_active() && $product_object->on_stock == 1) { $stock_commandable = get_stock_commandable($product_object, $quantite); } j'ai mis bien plus bas, apres ceci: // On prépare le message à afficher en javascript si la quantité demandée est trop élevée par rapport au stock disponible if (is_stock_advanced_module_active() && $product_object->on_stock == 1 && empty($GLOBALS['site_parameters']['allow_add_product_with_no_stock_in_cart'])) { $additionnal_quantity_possible = $stock_commandable - $quantite; $this_prepared_javascript_message = $GLOBALS['STR_QUANTITY_INSUFFICIENT'] . ' '; if ($additionnal_quantity_possible == 0) { // Aucun produit ajouté au caddie $this_prepared_javascript_message .= $GLOBALS['STR_ZERO_PRODUCT_ADD']; } elseif ($additionnal_quantity_possible == 1) { // un seul produit ajouté $this_prepared_javascript_message .= $additionnal_quantity_possible . ' ' . $GLOBALS['STR_QUANTITY_PRODUCT_ADD']; } else { // plus de un produit ajoutés au caddie $this_prepared_javascript_message .= $additionnal_quantity_possible . ' ' . $GLOBALS['STR_QUANTITY_PRODUCTS_ADD']; } $tmpProd['quantite']['message'] = $this_prepared_javascript_message; $tmpProd['quantite']['stock_commandable'] = $stock_commandable; } } else { $tmpProd['quantite'] = $quantite; } et ca fonctionne, super!!!! en 30 secondes probleme résolu sur un truc que je cherche depuis 2 jours!!! Un tout grand merci :lol: :lol: :lol: :lol: Je peux continuer. Prochaine etape: verifier que pour chaque produits commandé, lors de la validation il va bien supprimé la quantité dans la BDD... Une piste? Merci Share this post : post Share on other sites
Posted 10 Dec 2013 (edited) · Report post je bloque encore sur autre choses.... pffffff.... J'arrive donc maintenant a incrémenté ma variable $erreur de 1 a chaque fois que j'ai une quantité demandé superieur au stock dispo mais j'aimerai pouvoir remplacer le bouton de validation du panier par un message mais pour cela, je doit avoir la valeur de $erreur (si > 0). Le probleme c'est que la partie du bouton est affiché par caddie_content_html.tpl lui meme géré par la fonction get_caddie_content_html et que ma variable $erreur qui se trouve dans la meme page php mais sous la fonction get_caddie_products_summary_table, n'est pas reconnu dans get_caddie_content_html ... J'ai aussi cette variable $erreur dans caddie_products_summary_table.tpl mais impossible de la faire passé dans caddie_content_html.tpl ... Je demande pas spécialement un code touts fait mais une piste pour m'aider a avancé. Il n'y aurai pas moyen de mettre la variable en super variable ou quoi? Merci edit: Je pense avoir trouver une solution, je passe ma variable en SESSION sur la première fonction pour la récupéré sur l'autre fonction... ça semble fonctionné... edit2: Effectivement ca fonctionne :) j'ai egalement du supprimer le bouton a la derniére etape de la commande en cas ou des petit malin aurai validé un panier avec stock correcte puis prendre l'URL puis changer les quantité et validé l'url de l'etape suivante... Ou si il entre de nouvelle valeur et valide tout simplement sans faire un refresh du panier... Aller j'attaque le décompte du stock dans la BDD... Edited 11 Dec 2013 by ant0ny Share this post : post Share on other sites
Posted 11 Dec 2013 (edited) · Report post Je cherche mais je trouve pas, je pense me mettre dans order.php a la fin de la fonction create_or_update_order et mettre une commande qui reprendra chaque produits de la commande XX avec sa quantité et a chaque fois, aller sur peel_produits sur le bon ID faire un UPDATE du stock... mais avant ca je doit recupéré le stock, faire la soustraction pour ensuite faire le UPDATE... En meme temps j'ai fait une demande pour la premium mais a voir si possible financièrement dans l’immédiat... edit: Je part sur ceci comme code pour recupéré les articles commandé et retiré du stock les quantité commandé: $result1 = query("SELECT produit_id, quantite FROM peel_commandes_articles WHERE commande_id = '".intval($order_id)."'"); //Liste les entree de la table while($resultat1 = fetch_assoc($result1)) { //pour chaque entree sur peel_commandes_articles dont le numero de commande correspond a la commande passé $result2 = query("SELECT on_stock FROM peel_produits WHERE id = '".$resultat1['produit_id']."'"); //on récupére le stock qui est dans on_stock while($resultat2 = fetch_assoc($result2)) { //calcul du nouveau stock $newstock = ($resultat2['on_stock'] - $resultat1['quantite']); //Mise a jour du stock du produit query("UPDATE peel_produits SET on_stock = '".$newstock."' WHERE id = '".$resultat1['produit_id']."'"); } } si vous avez un code plus optimisé ou si vous voyez des erreur, je suis preneur ;) Ca fonctionne, j'ai bien la gestion des stock, je peux mettre sur le produit les stock dispo, ca s'enregistre dans la BD, si stock=0 alors impossible de mettre le produit dans son caddie, lors de l'affichage du caddie et de la derniere etape de la commande ca verifie que les quantité sont en stock et lors de la validation de la commande, les quantité sont bien retiré du stock de chaque produits... il reste plein de choses pas faite comme remettre les stock sur annulation, etc... si 2 personne commande en meme temps, risque d'y avoir des problemes avec le stock, aucune gestion des stock avec des volume couleur, taille etc... obligé de faire 1 produits par couleur/taille mais dans un premier temps c'est pas un probleme pour moi donc voila je suis content d'avoir fini ca :) Un grand merci au admin qui sont la pour aidé et pour leur super travail, plus tard je passerai sur la premium si touts va bien ;) Edited 11 Dec 2013 by ant0ny Share this post : post Share on other sites
Posted 12 Dec 2013 · Report post Bonjour, si vous avez un code plus optimisé ou si vous voyez des erreur, je suis preneur ;) Une remarque à faire au sujet de l'utilisation des variables dans la requête SQL query("UPDATE peel_produits SET on_stock = '".$newstock."' WHERE id = '".$resultat1['produit_id']."'"); Il est très vivement recommandé de protéger les variables dans les requêtes pour s'assurer que les données insérées dans la base sont au format attendu, et ne contiennent pas de caractères qui puisse dévoyer la requête. Sur PEEL vous pouvez utiliser les fonctions de traitement de caractères présente dans le fichier lib/fonctions/database.php : word_real_escape_string, nohtml_real_escape_string, real_escape_string, ainsi que la fonction php intval. Share this post : post Share on other sites
Posted 12 Dec 2013 · Report post Merci Simon, je doit donc mettre ceci: query("UPDATE peel_produits SET on_stock = '".intval($newstock)."' WHERE id = '".$resultat1['produit_id']."'"); Mais je doit aussi l'utiliser pour le WHERE? car c'est pas une valeur stocké mais de recherche... Merci Share this post : post Share on other sites
Posted 12 Dec 2013 · Report post Vous pouvez appliquer cette règle sans exception. Share this post : post Share on other sites