[resolu]Stock mis à zéro via le bouton rouge, dans l'admin |
Bienvenue invité ( Connexion | Inscription )
[resolu]Stock mis à zéro via le bouton rouge, dans l'admin |
9 Jul 2006, 07:55
Message
#1
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
Bonjour tlm,
Je cherche un petit bout de code qui permetterait de, via l'admin, mettre le stock d'un article à 0 quand on a cliqué sur le bouton rouge qui lui correspond (avant d'arriver à la fiche produit) Quelqu'un saurait comment faire? Ce message a été modifié par buvezduvin - 9 Jul 2006, 14:44. -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 08:22
Message
#2
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
Inspire toi de ce qui existe pour le products_status via les boutons rouge et vert, et l'action setflag (en faisant un setstock par exemple), pui stout en haut de adlin/categories.php , dans le switch, tu rajoutes un case de setstock qui va te poser la requete de remise à zéro de ton stock.
|
|
9 Jul 2006, 09:14
Message
#3
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
oulà
inspiration quand tu nous tiens.... là je bloque.. -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 09:22
Message
#4
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
dans admin/categories.php, recherches setflag. Tu le trouves au tout début et vers le bas. Au début, c'est pour l'action qui doit être faite. Celui de la fin, c'est pour l'affichage du lien. Tu dois donc "singer" le setflag, en créant une action setstock. La partie du bas, sera l'affichage du lien, celle du début, l'action d'update de la base. |
|
9 Jul 2006, 10:04
Message
#5
|
|
5eme dan OSC Groupe : Administrateur Messages : 7634 Inscrit : 28-December 03 Lieu : Hollywood les Granits Membre no 1773 |
C'est vrai que c'est plus clair maintenant ! -------------------- |
|
9 Jul 2006, 11:01
Message
#6
|
|
5eme dan OSC Groupe : Administrateur Messages : 9221 Inscrit : 4-March 03 Lieu : Pau Membre no 927 |
CITATION(oneill @ 9 Jul 2006, 11:04) [snapback]183415[/snapback] C'est vrai que c'est plus clair maintenant ! Bon pour éclaircir un peu la lanterne de "buvezduvin" (le pinâârd, ça d'vrait êt'e obligatouââââre!... Gérââârd) par rapport à ta question initiale, il y a plusieurs options : - une contrib' existe déjà sur http://www.oscommerce.com/community/contributions , parfaite ou approchante, tu l'installes et/ou tu l'adaptes - Ya pas de contrib' pour toi... tu développes et tu partages (c'est cool pour les copains qui auront les mêmes besoins, c'est grâce à ça qu'osCommerce existe et que le réservoir de contributions donne tant de possibilités) - tu sais pas faire alors tu oublies ton besoin et tu fais sans avec les options existantes Mais l'option de venir demander à la communauté de développer pour toi n'existe pas. Une commande, ça se passe avec une entreprise ou un professionnel qui te demandera des honoraires pour ça. Le but de l'open source n'est pas de concurrencer les professionnels d'un domaine, mais de partager des compétences à plusieurs afin de faire de chaque développement ou adaptation personnelle une brique d'un tout. ça permet ainsi à chacun de profiter des avancées des autres en échange des siennes. On va plus loin ensemble, et c'est gratuit. Un principe idéal en somme. Mais pour que cela fonctionne, il faut respecter la règle du jeu sinon le projet collectif devient un projet individuel sans avantage pour personne. Un seul s'enrichit sur le dos des autres. Je sais, cela va à l'encontre des principes de profits commerciaux du libéralisme mondial, paradoxe s'il en est, avec le développement d'un outil fait pour vendre. Mais c'est ainsi ici. Alors options : 1/ tu as trouvé chaussure à ton pied dans le réservoir sus-cité et tu nous indiques laquelle, partageant ainsi ton expérience : ce topic reste en "contributions" 2/ tu décides de développer un bricolo, tu te mets au boulot et demande un peu d'aide à la communauté sur les détails d'avancement de ton projet et ce topic va en "échange développeurs" 3/ tu décides de lâcher l'affaire car tu ne sais pas faire et ne vois vraiment pas comment on s'y prend... ce topic va en "blablabla". Que fait-on ? -------------------- Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
9 Jul 2006, 11:13
Message
#7
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
Pas de problème Gnidhal, faut juste laisser un peu plus d'une heure à l'amateur que je suis pour essayer de développer quelque chose...
(ps j'avais bien compris le principe d'un forum d'entraide, le ton de mon premier message était-il incorrect?) Je vais chercher la contrib et vous tiens au courant Ce message a été modifié par buvezduvin - 9 Jul 2006, 11:16. -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 11:34
Message
#8
|
|
5eme dan OSC Groupe : Administrateur Messages : 9221 Inscrit : 4-March 03 Lieu : Pau Membre no 927 |
CITATION(buvezduvin @ 9 Jul 2006, 12:13) [snapback]183425[/snapback] le ton de mon premier message était-il incorrect? Je ne pense pas qu'il t'aie été reproché Mon explication ci-dessus est générique et s'adresse à tous ceux qui n'auraient pas pigé le pincipe de ces forums et de l'esprit OpenSource (et ils sont nombreux). En même temps il essaye de mettre au clair ce topic pour lui donner une place et te donne les pistes de recherche. Ta question était "Quelqu'un saurait-il comment faire" Fissiaux te donne une piste et tu réponds "je sèche". De là mon explication de choix à 3 options. -------------------- Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
9 Jul 2006, 12:14
Message
#9
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
J'ai inséré ceci dans le haut de categories.php
if (tep_not_null($action)) { switch ($action) { case 'setflag': if ( ($HTTP_GET_VARS['flag'] == '0') || ($HTTP_GET_VARS['flag'] == '1') ) { if (isset($HTTP_GET_VARS['pID'])) { tep_set_product_status($HTTP_GET_VARS['pID'], $HTTP_GET_VARS['flag']); tep_set_product_quantity('0', $HTTP_GET_VARS['flag']); } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } } puis j'ai ajouté cela ligne 244 (dupliquage) 'products_quantity' => tep_db_prepare_input($HTTP_POST_VARS['products_quantity']), Mais ça me met cela; Fatal error: Call to undefined function: tep_set_product_quantity() in categories.php on line 26 -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 12:21
Message
#10
|
|
Ceinture noire OSC Groupe : Modérateurs Messages : 2908 Inscrit : 24-October 04 Lieu : Quimper ( Finistère ) Membre no 3567 |
fais une recherche avec tep_set_product_status dans tes fichiers de l'admin et tu t'apercevras que cette fonction est définie dans un autre fichier.
Ainsi, il te suffira de rajouter à côté ta nouvelle fonction -------------------- #mosaic {
autodidacte: max; derision: min; ms3: never; occupation: 9999; latitude : 48; longitude : -4.1; competent: none !important; } documentation MS2 / F.A.Q. / Contribes FR / Contribes US |
|
9 Jul 2006, 12:35
Message
#11
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
Merci Mosaic
J'ai rajouté dans admin/fonction/general.php CITATION //// // Sets the stock of a product function tep_set_product_quantity($products_id, $status) { if ($status == '1') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '300', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } elseif ($status == '0') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '0', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } else { return -1; } } juste après celle concernant le statut j'aimerai que quand je clique sur le bouton rouge le stock passe à 0 et quand je reclique sur le bouton vert le stock passe à 300 avec ce code je n'ai pas de message d'erreur mais le stock ne bouge pas... -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 12:42
Message
#12
|
|
5eme dan OSC Groupe : Administrateur Messages : 9221 Inscrit : 4-March 03 Lieu : Pau Membre no 927 |
et je pense que ça serait plutôt
tep_set_product_quantity($HTTP_GET_VARS['pID'], 0); et réaliser une fonction nommée tep_set_product_quantity qui va mettre le stock à 0 (ou à la valeur que tu veux) à partir de la variable $HTTP_GET_VARS['pID'] qui contient normalement l'index de ton produit. cette fonction doit peut-être ajoutée dans functions/general.php elle commencerait par function tep_set_product_quantity( $products_id, $quantity=0) { /* et la dedans une requête qui va mettre ta table products à jour sur l'index products_id avec un stock à $quantity (égal à 0 si non spécifié dans l'appel de ta fonction) */ } -------------------- Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues : Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums. Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin. ----------------------------- Quelques sites de référence --------------------------- PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien) |
|
9 Jul 2006, 12:50
Message
#13
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
Et pourquoi l'avoir mis dans
CITATION case 'setflag': Cela va te poser des désagrément. Je t'avis dit de le singer avec un CITATION case 'setstock': |
|
9 Jul 2006, 13:16
Message
#14
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
heu.. ça veut dire quoi singer?
Le fait de le singer avec un case 'setstock' ne m'aurait-il pas entrainé l'apparition d'un nouvel onglet à cocher? (hors je n'en veux qu'un qui fasse tout) Gnidhal, ne faut-il pas aussi que je laisse '$status' dans les variables de la fonction? Ce message a été modifié par buvezduvin - 9 Jul 2006, 13:28. -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 13:46
Message
#15
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
Singer = copier.
J'avais pas compris que tu en voulais un qui fasse tout. DOnc quand tu vas activer ou désactiver ton produit, le stock sera mis à zéro. C'est bien cela ? |
|
9 Jul 2006, 13:59
Message
#16
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
Oui c'est cela,
ça avance de mon côté, j'arrive à faire changer la valeur dans un sens mais pas la remettre dans l'autre.. j'y travail Voilà où j'en suis dans general.php CITATION //// // Sets the stock of a product function tep_set_product_quantity($products_id, $quantity) { if ($quantity > '0') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '0', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } elseif ($quantity == '0') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '300', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } else { return -1; } } et avec dans categorie.php: CITATION if (tep_not_null($action)) { switch ($action) { case 'setflag': if ( ($HTTP_GET_VARS['flag'] == '0') || ($HTTP_GET_VARS['flag'] == '1') ) { if (isset($HTTP_GET_VARS['pID'])) { tep_set_product_status($HTTP_GET_VARS['pID'], $HTTP_GET_VARS['flag']); tep_set_product_quantity($HTTP_GET_VARS['pID'], 0); } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } } -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 14:04
Message
#17
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
QU'est ce que cela veut dire :
CITATION j'arrive à faire changer la valeur dans un sens mais pas la remettre dans l'autre Tu mets à O, OK? mais dans l'autre sens, cela veut dire quoi ????? |
|
9 Jul 2006, 14:06
Message
#18
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
quand je reclique sur le bouton vert mon stock repasse de 0 à 300
-------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 14:10
Message
#19
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
Ce qui picolent ont des règles de gestion particulière....enfin. Essaie en remplacant CODE tep_set_product_quantity($HTTP_GET_VARS['pID'], 0); par CODE tep_set_product_quantity($HTTP_GET_VARS['pID'], $HTTP_GET_VARS['flag']); et en changeant ta fonction par : CODE function tep_set_product_quantity($products_id, $quantity) {
if ($quantity == '0') { return tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '0', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } else { return tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '300', products_last_modified = now() where products_id = '" . (int)$products_id . "'"); } } |
|
9 Jul 2006, 14:27
Message
#20
|
|
Ceinture orange OSC Groupe : Membres Messages : 193 Inscrit : 2-September 05 Lieu : Dijon Membre no 6970 |
Tout marche!!
Merci à vous tous pour cette fructueuse entraide et votre temps passé.. désolé pour mon pseudo visiblement trop provocateur mais les viti ne picolent pas non plus tout le temps... -------------------- - avec modération -
MS2 fr, ~35 contrib. |
|
9 Jul 2006, 14:29
Message
#21
|
|
5eme dan OSC Groupe : Membres Messages : 17048 Inscrit : 26-November 03 Lieu : Chez moi Membre no 1669 |
CITATION mais les viti ne picolent pas non plus tout le temps Ouais, à d'autres..... |
|
Version bas débit | Nous sommes le : 29th March 2024 - 10:18 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |