osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [contrib] gestion produits en rupture de stock
Gnidhal
posté 9 Apr 2003, 18:39
Message #1


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



OK pour sélectionner la maj de réappro de stock voici 3 modifs et 2 nouveaux fichiers à inclure dans l'admin :

fichier admin/products_low_stock.php
CODE


<?php

/*

 $Id: products_low_stock.php,v 1.1.1.1 2002/11/28 20:56:39 wilt Exp $



 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com



 Copyright (c) 2002 osCommerce



 Released under the GNU General Public License

 Auteur : Gnidhal fx@geniehalles.com

*/



 require('includes/application_top.php');

 $quantity_query = tep_db_query(" select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'STOCK_REORDER_LEVEL'");

 $products_quantity = tep_db_fetch_array($quantity_query);

 $warning_stock = $products_quantity['configuration_value'];

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

<script language="javascript" src="includes/general.js"></script>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->



<!-- body //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">

 <tr>

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

   </table></td>

<!-- body_text //-->

   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

     <tr>

       <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

           <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

             <tr class="dataTableHeadingRow">

               <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS; ?></td>

               <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_LOW_STOCK; ?></td>

               <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>& nbsp;</td>

             </tr>

<?php

 $products_query_raw = "select pd.products_id, pd.products_name, p.products_quantity from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p where p.products_id = pd.products_id and p.products_quantity < '" . $warning_stock . "' and pd.language_id = '" . $languages_id . "' order by p.products_quantity ASC";

 $products_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $products_query_raw, $products_query_numrows);

 $products_query = tep_db_query($products_query_raw);

 while ($products = tep_db_fetch_array($products_query)) {

   if (((!$HTTP_GET_VARS['pID']) || ($HTTP_GET_VARS['pID'] == $products['products_id'])) && (!$pInfo) ) {

     $pInfo = new objectInfo($products);

   }



   if ( (is_object($pInfo)) && ($products['products_id'] == $pInfo->products_id) ) {

     echo '                  <tr class="dataTableRowSelected" onmouseover="this.style.cursor='hand'" onclick="document.location.href='' . tep_href_link(FILENAME_CATEGORIES, 'pID=' . $products['products_id'] . '&action=new_product') . ''">' . "n";

   } else {

     echo '                  <tr class="dataTableRow" onmouseover="this.className='dataTableRowOver';this.style.cursor='hand'" onmouseout="this.className='dataTableRow'" onclick="document.location.href='' . tep_href_link(FILENAME_PRODUCTS_LOW_STOCK, 'page=' . $HTTP_GET_VARS['page'] . '&pID=' . $products['products_id']) . ''">' . "n";

   }

?>

               <td class="dataTableContent"><?php echo $products['products_name']; ?></td>

               <td class="dataTableContent" align="center"><?php echo $products['products_quantity']; ?></td>

               <td class="dataTableContent" align="right"><?php if ( (is_object($pInfo)) && ($products['products_id'] == $pInfo->products_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif'); } else { echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_LOW_STOCK, 'page=' . $HTTP_GET_VARS['page'] . '&pID=' . $products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>& nbsp;</td>

             </tr>

<?php

 }

?>

             <tr>

               <td colspan="3"><table border="0" width="100%" cellspacing="0" cellpadding="2">

                 <tr>

                   <td class="smallText" valign="top"><?php echo $products_split->display_count($products_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_PRODUCTS_LOW_STOCK); ?></td>

                   <td class="smallText" align="right"><?php echo $products_split->display_links($products_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page']); ?></td>

                 </tr>

               </table></td>

             </tr>

           </table></td>

<?php

 $heading = array();

 $contents = array();

 if (is_object($pInfo)) {

   $heading[] = array('text' => '<b>' . $pInfo->products_name . '</b>');



   $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'pID=' . $pInfo->products_id . '&action=new_product') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a>');

   $contents[] = array('text' => '<br>' . TEXT_INFO_QUANTITY . ' ' . $pInfo->products_quantity);

 }



 if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {

   echo '            <td width="25%" valign="top">' . "n";



   $box = new box;

   echo $box->infoBox($heading, $contents);



   echo '            </td>' . "n";

 }

?>

         </tr>

       </table></td>

     </tr>

   </table></td>

<!-- body_text_eof //-->

 </tr>

</table>

<!-- body_eof //-->



<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>


modif dans admin/includes/boxes/catalog.php
QUOTE
 if ($selected_box == 'catalog') {
   $contents[] = array('text'  => '<a href=\"' . tep_href_link(FILENAME_CATEGORIES, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_CATEGORIES_PRODUCTS . '</a><br>' .
                                  '<a href=\"' . tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_CATEGORIES_PRODUCTS_ATTRIBUTES . '</a><br>' .
                                  '<a href=\"' . tep_href_link(FILENAME_MANUFACTURERS, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_MANUFACTURERS . '</a><br>' .
                                  '<a href=\"' . tep_href_link(FILENAME_REVIEWS, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_REVIEWS . '</a><br>' .
                                  '<a href=\"' . tep_href_link(FILENAME_SPECIALS, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_SPECIALS . '</a><br>' .
                                  '<a href=\"' . tep_href_link(FILENAME_FEATURED, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_FEATURED . '</a><br>' .
                                  '<a href=\"' . tep_href_link(FILENAME_PRODUCTS_LOW_STOCK, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_PRODUCTS_LOW_STOCK . '</a><br>' .
                                  '<a href=\"' . tep_href_link(FILENAME_PRODUCTS_EXPECTED, '', 'NONSSL') . '\" class=\"menuBoxContentLink\">' . BOX_CATALOG_PRODUCTS_EXPECTED . '</a>');
 }


Fichier admin/includes/languages/french/products_low_stock.php
CODE
<?php

/*

 $Id: products_low_stock.php,v 1.7 2002/01/30 01:23:42 hpdl Exp $



 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com



 Copyright (c) 2002 osCommerce



 Released under the GNU General Public License

*/



define('HEADING_TITLE', 'Produits à réapprovisionner');



define('TABLE_HEADING_PRODUCTS', 'Produits');

define('TABLE_HEADING_LOW_STOCK', 'Etat du stock');

define('TABLE_HEADING_ACTION', 'Action');



define('TEXT_INFO_QUANTITY', 'Quantité:');

?>

puis 2 define() à ajouter dans admin/includes/languages/french.php
CODE
//## Add Low_Stock Update

define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS_LOW_STOCK', 'Affiche <b>%d</b> & nbsp;<b>%d</b> (sur <b>%d</b> produits à réapprovisionner)');

define('BOX_CATALOG_PRODUCTS_LOW_STOCK', 'Stock bas Produits');


et enfin 1 define() dans admin/includes/application_top.php
CODE
//## Add Low_Stock Update

 define('FILENAME_PRODUCTS_LOW_STOCK', 'products_low_stock.php');



Si l'un de vous pouvait valider tout cela ça serait cool avant de faire un package wink.gif
Chez moi ça marche (MS1 Creload 5)
(les accentués au format html ne passant pas ici j'ai remis des é et à dans les define())
Merciiii cool.gif


--------------------
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)
Go to the top of the page
 
Gnidhal
posté 9 Apr 2003, 18:48
Message #2


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



Boaaaaffff ' confused.gif
ça peut s'améliorer en mettant la modif de la qauntité uniquement dans le fichier products_low_stock.php car pour l'instant ça renvoie à la fiche produits de la portion catalogue de l'admin et après maj on ne revient pas dans products_low_stock.php mais dans catalogue => Catégories/Produits.
Y'a kelkun qui le sent de l'améliorer ?


--------------------
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)
Go to the top of the page
 
Kool
posté 9 Apr 2003, 19:54
Message #3


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 378
Inscrit : 26-February 03
Lieu : Alinghi
Membre no 901



Tu causes tout seul mon beau Gnidhal ? laugh.gif


--------------------
Sur un nuage avec MS1 CreLoad 5
Go to the top of the page
 
Gunt
posté 9 Apr 2003, 20:06
Message #4


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 166
Inscrit : 9-February 03
Membre no 832



Non on l'écoute attentivement dans sa prose de php wink.gif

Bon boulot.

Existe t'il un module qui affiche via une image le contenu de stock comme sur le site LDLC.fr.

Je pense que sa doit éxister mais je préfère demander wink.gif
Go to the top of the page
 
pericles
posté 9 Apr 2003, 20:23
Message #5


Ceinture marron OSC
Icône de groupe

Groupe : Administrateur
Messages : 1670
Inscrit : 14-August 02
Membre no 369



Pour faire suite (et un petit resume) aux nombreuses discussions sur ce sujet si epineux qu'est l'affichage des stocks: il apparait qu'il existe des contributions pour gerer les stocks mais qu'elles ne sont pas satisfaisantes.
Alors, Gnidhal a pris son courage a 3 mains (merci bien) et propose un debut pour une meilleure gestion des stocks.


--------------------
CVS 2.2 MS1 (17/02/2003)
Go to the top of the page
 
Gunt
posté 9 Apr 2003, 20:32
Message #6


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 166
Inscrit : 9-February 03
Membre no 832



On tout cas c'est du bon boulot. Ce serait bien d'avoir un visuel de cette fonction (imprime écran du résultat).

Nota : il a pas trois mains mais 21 doigts, sa en fait beaucoup pour taper sur un clavier. biggrin.gif
Go to the top of the page
 
Kool
posté 9 Apr 2003, 21:08
Message #7


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 378
Inscrit : 26-February 03
Lieu : Alinghi
Membre no 901



Gnidhal je te taquinais, toutes mes félicitations pour cette contribution. J'en aurai pas besoin mais je te félicite quand même ! wink.gif


--------------------
Sur un nuage avec MS1 CreLoad 5
Go to the top of the page
 
Gnidhal
posté 9 Apr 2003, 22:05
Message #8


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



Takool le Quin ! laugh.gif laugh.gif laugh.gif
Non t'as raison, je vois un truc qui me chatouille dans mon bouzin, je cherche si ya déjà des klempins qui ont rencontré le pb et je résouds comme je peux en essayant de respecter la structure osc.
ça veut dire aussi que pendant une grosse heure il peut bien pleuvoir des grenouilles ou des sydoniens, tant que ya de la lumière dans mon écran je vois rien d'autre... laugh.gif

boaaarf' si ça peut faire avancer le schmOsc... wink.gif


--------------------
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)
Go to the top of the page
 
cochien
posté 10 Apr 2003, 16:26
Message #9


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 127
Inscrit : 26-February 03
Membre no 897



j'ai installé la contrib "quantity_display_allowed" qui permets de gérer l'affichage des stocks sur le site.
Je l'ai un peu bidouillée pour afficher une image en fonction du stock (sur commande,pas dispo, qté limité, dispo). Et ça marche plutôt pas mal, je gére ça depuis l'admin avec 4 boutons d'état, et une variable qui donne la limite du stock minimum.
jettez un coup d'oeil si ça vous tente :

http://www.unlockgsm.com/dload-osc/pafiledb.php

http://forums.oscommerce.com/viewtopic.php?t=27041
user posted image
Go to the top of the page
 
Gnidhal
posté 10 Apr 2003, 16:41
Message #10


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



Humpfff ! blush.gif c'est vrai que c'est bien plus abouti que ma bricole, mais peut-être un peu plus lourd à mettre en place...

Mon bouzin, ça donne ça, tt simplement :
user posted image

Nettement plus light wink.gif

Seuls les produits dont le stock est inférieur au niveau de stock déclaré mini dans l'admin se retrouvent listés là.

That's all folks!


--------------------
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)
Go to the top of the page
 
ciju
posté 10 Apr 2003, 16:58
Message #11


Ceinture bleue OSC
Icône de groupe

Groupe : Membres VIP
Messages : 928
Inscrit : 5-December 02
Lieu : foret de Saou
Membre no 645



beaucoup plus efficace ton mod pere gnindhal !
au moins en section dédiée avec vue directe!
enfin me concernant je prefere tres largement


--------------------
\\\\\ ::. TranceNetworkConnection .:: ////////////////////
Go to the top of the page
 
Gnidhal
posté 10 Apr 2003, 17:43
Message #12


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



blush.gif merciiiiii ! biggrin.gif rolleyes.gif wink.gif


--------------------
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)
Go to the top of the page
 
cochien
posté 11 Apr 2003, 08:21
Message #13


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 127
Inscrit : 26-February 03
Membre no 897



cry.gif bon ben je vais marcher tout droit ... et avec un peu de chance je tomberais sur la station ou je m'écraserai contre un rocher....
Go to the top of the page
 
pericles
posté 11 Apr 2003, 11:23
Message #14


Ceinture marron OSC
Icône de groupe

Groupe : Administrateur
Messages : 1670
Inscrit : 14-August 02
Membre no 369



Rassures-toi cochien, ta contribution est bonne aussi et elle m'a donné des idées pour améliorer ma gestion de stock.
Alors merci wink.gif


--------------------
CVS 2.2 MS1 (17/02/2003)
Go to the top of the page
 
Gallagan
posté 24 Apr 2003, 10:32
Message #15


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 79
Inscrit : 17-March 03
Lieu : à la mer
Membre no 968



Super cette contrib, par contre je viens de l'installer et j'ai un petit problème : j'ai des & qui se mettent à la fin des lignes et quand je clique sur un produit j'arrive sur une fiche produit (la bonne) mais pas la bonne categorie (nouveau produit dans "top") alors que top n'est pas une de mes catégories resultat les modifs ne sont pas prises en compte


Produits Etat du stock Action&
Série Allemagne 0 &
2 FRANCS Jean Moulin 0 &
Série Allemagne 0 &
FDC 1975 0 &
Affiche 1 & 4 (sur 4 produits à réapprovisionner) Nombre de pages de résultats :
Go to the top of the page
 
Gallagan
posté 24 Apr 2003, 10:40
Message #16


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 79
Inscrit : 17-March 03
Lieu : à la mer
Membre no 968



dans admin/products_low_stock.php

tu as : <script language="javascript" src="includes/general.js"></script>

or je n'ai pas ce fichier ...
Go to the top of the page
 
Gallagan
posté 24 Apr 2003, 10:42
Message #17


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 79
Inscrit : 17-March 03
Lieu : à la mer
Membre no 968



ah si dans l'include du catalog
Il faut en faire une copie dans l'include de l'admin


putain ils vont me prendre pour un fou, je parle tout seul ...

www.e-monnaies.com
Go to the top of the page
 
Gnidhal
posté 24 Apr 2003, 10:48
Message #18


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



pour les & ce sont des caractères & nbsp; qui ont été filtrés dans l'affichage ici.
Pfff un bug habituel ici. quand on glisse du code html dans les pages de codes affichés c'est filtré !
j'ai remis les bon codes html, mais avec un espace entre le & et le nbsp; (sinon ça passe pas ici) donc à corriger à l'arrivée (recherche/remplace) & nbsp; =>
Pour ce qui est du lien vers la fiche je vais voir le truc, je n'ai rien constaté pour moi... il faut peut-être récupérer la catégorie en plus de l'id produit...
a suivre...


--------------------
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)
Go to the top of the page
 
Gallagan
posté 24 Apr 2003, 10:56
Message #19


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 79
Inscrit : 17-March 03
Lieu : à la mer
Membre no 968



le lien avec ton fichier est :

http://www.e-monnaies.com/boutique/admin/categories.php?pID=44&action=new_product

alors que lorsque je le modifie directement : j'ai :
http://www.e-monnaies.com/boutique/admin/categories.php?cPath=32_39&pID=172

donc la categorie et pas : action=new_product

Merci pour la piste : j'essaie de résoudre et je te passe ma "modique" contribution
Go to the top of the page
 
Gnidhal
posté 24 Apr 2003, 11:28
Message #20


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



QUOTE (Gallagan)
le lien avec ton fichier est :  

http://www.e-monnaies.com/boutique/admin/categories.php?pID=44&action=new_product

alors que lorsque je le modifie directement : j'ai :
http://www.e-monnaies.com/boutique/admin/categories.php?cPath=32_39&pID=172

donc la categorie et pas : action=new_product

Merci pour la piste : j'essaie de résoudre et je te passe ma \"modique\" contribution

Non tu as raison de faire la remarque, mais il y a un soucis dans ce que tu dis car les ID products ne correspondent pas dans tes descriptions de liens donc c'est pas le même produit ! (pID = 44 != pID =172) shock.gif

Bon l'affichage de "nouveau produit dans TOP" est difficile à contourner et c'est simplement l'affichage qui est erronné. Cela ne devrait afficher "edition fiche produit" en cas d'absence d'affichage de la catégorie plutôt que dans "Top" .
de toutes manière l'affichage des actégorie lors de l'édition des fiches est un peu curieux parfois confused.gif
L'accès à la fiche est bon et sa modification ne déplace pas ton produit de catégorie.
Le pb avec les catégories, c'est que tu peux avoir le même produit dans plusieurs catégories (alias de fiche) et donc en pareil cas, quelle catégorie vas-tu afficher ? il n'y a pas de "catégorie de base" juste l'id_products est liée à plusieurs id_categories.
Si tu rajoutes le nom de la catégorie dans l'affichage, tu vas te retrouver avec apparemment plusieurs fiches produit alors qu'il n'y en a qu'une !
(un problème que j'ai rencontré sur le quick_update qu'on a aménagé avec Xaglo)
C'est un problème de structure OSC avec ce seul et unique fichier categories.php à tout faire, catégories, produits, déplacement de produit dans une categorie, assignation de produit à categorie... déclaration de catégorie... et aussi une catégorie qui n'est pas assigné dans la fiche produit (comme catégorie maîtresse du produit) mais une table products_to_categories qui lie les deux tables avec des liens multiples.

Enfin "action=new_product" est le nom de l'action HTTP_VARS qui est envoyé à categories.php pour déclencher toute édition de fiche produit ou catégorie, que le produit existe ou pas.

Si tu as une solution simple, elle est bienvenue. smile.gif


--------------------
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)
Go to the top of the page
 
Gallagan
posté 24 Apr 2003, 13:39
Message #21


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 79
Inscrit : 17-March 03
Lieu : à la mer
Membre no 968



les id differentes c'est normal, j'avais pas pris le même produit !!!
effectivement, il faut l'action newproduct (j'avais pas cliqué)
Chez moi les modifs n'étaient pas apportées quand j'avais dans "top"
J'ai donc modifié le code avec recuperation de la categorie dans la requete et modif des liens (les deux : le lien hypertexte et le bouton editer)
Seul mini bug, les produits dupliques dans differents categories se retrouvent plusieurs fois mais sont selectionnés ensemble donc pas si mal)
si qqn veut ameliorer ...





CODE
<?php

/*

 $Id: products_low_stock.php,v 1.1.1.1 2002/11/28 20:56:39 wilt Exp $



 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com



 Copyright (c) 2002 osCommerce



 Released under the GNU General Public License

 Auteur : Gnidhal fx@geniehalles.com

*/



 require('includes/application_top.php');

 $quantity_query = tep_db_query(" select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'STOCK_REORDER_LEVEL'");

 $products_quantity = tep_db_fetch_array($quantity_query);

 $warning_stock = $products_quantity['configuration_value'];

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

<script language="javascript" src="includes/general.js"></script>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->



<!-- body //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">

 <tr>

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

   </table></td>

<!-- body_text //-->

   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

     <tr>

       <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

           <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

             <tr class="dataTableHeadingRow">

               <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS; ?></td>

               <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_LOW_STOCK; ?></td>

               <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?></td>

             </tr>

<?php

 $products_query_raw = "select pd.products_id, pd.products_name, p.products_quantity, pc.categories_id from " . TABLE_PRODUCTS_DESCRIPTION . " pd," . TABLE_PRODUCTS_TO_CATEGORIES . " pc, " . TABLE_PRODUCTS . " p where p.products_id = pd.products_id and p.products_id = pc.products_id and p.products_quantity < '" . $warning_stock . "' and pd.language_id = '" . $languages_id . "' order by p.products_quantity ASC";

 $products_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $products_query_raw, $products_query_numrows);

 $products_query = tep_db_query($products_query_raw);

 while ($products = tep_db_fetch_array($products_query)) {

   if (((!$HTTP_GET_VARS['pID']) || ($HTTP_GET_VARS['pID'] == $products['products_id'])) && (!$pInfo) ) {

     $pInfo = new objectInfo($products);

   }



   if ( (is_object($pInfo)) && ($products['products_id'] == $pInfo->products_id) ) {

     echo '                  <tr class="dataTableRowSelected" onmouseover="this.style.cursor='hand'" onclick="document.location.href='' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $products['categories_id'] .'&pID=' . $products['products_id'] . '&action=new_product') . ''">' . "n";

   } else {

     echo '                  <tr class="dataTableRow" onmouseover="this.className='dataTableRowOver';this.style.cursor='hand'" onmouseout="this.className='dataTableRow'" onclick="document.location.href='' . tep_href_link(FILENAME_PRODUCTS_LOW_STOCK, 'page=' . $HTTP_GET_VARS['page'] . '&pID=' . $products['products_id']) . ''">' . "n";

   }

?>

               <td class="dataTableContent"><?php echo $products['products_name']; ?></td>

               <td class="dataTableContent" align="center"><?php echo $products['products_quantity']; ?></td>

               <td class="dataTableContent" align="right"><?php if ( (is_object($pInfo)) && ($products['products_id'] == $pInfo->products_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif'); } else { echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_LOW_STOCK, 'page=' . $HTTP_GET_VARS['page'] . '&pID=' . $products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?></td>

             </tr>

<?php

 }

?>

             <tr>

               <td colspan="3"><table border="0" width="100%" cellspacing="0" cellpadding="2">

                 <tr>

                   <td class="smallText" valign="top"><?php echo $products_split->display_count($products_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_PRODUCTS_LOW_STOCK); ?></td>

                   <td class="smallText" align="right"><?php echo $products_split->display_links($products_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page']); ?></td>

                 </tr>

               </table></td>

             </tr>

           </table></td>

<?php

 $heading = array();

 $contents = array();

 if (is_object($pInfo)) {

   $heading[] = array('text' => '<b>' . $pInfo->products_name . '</b>');



   $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $pInfo->categories_id . '&pID=' . $pInfo->products_id . '&action=new_product') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a>');

   $contents[] = array('text' => '<br>' . TEXT_INFO_QUANTITY . ' ' . $pInfo->products_quantity);

 }



 if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {

   echo '            <td width="25%" valign="top">' . "n";



   $box = new box;

   echo $box->infoBox($heading, $contents);



   echo '            </td>' . "n";

 }

?>

         </tr>

       </table></td>

     </tr>

   </table></td>

<!-- body_text_eof //-->

 </tr>

</table>

<!-- body_eof //-->



<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
Go to the top of the page
 
Gyakutsuki
posté 5 Jun 2003, 09:59
Message #22


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1914
Inscrit : 3-October 02
Membre no 467



Est il posible pour cette contrib d'ajouter quelques lignes permettant d'envoyer automatiquement un mail au commerçant quand le stock d'un produit est inférieur à la quantité minimum ?
Cela éviterait beaucoup de consultation inutile.
J'ai essayé de m'y atteler mais bon j'ai calé.


--------------------
Cordialement,

Gyakutsuki

Modules, FAQ
Go to the top of the page
 
Gnidhal
posté 7 Jun 2003, 08:15
Message #23


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



ça doit être possible puisque le niveau de stock est testé à chaque commande.
Mais c'est dans la partie catalog qu'il faut intervenir et à chaque fois qu'un produit passe en dessous de la limite il faudrait déclencher une action qui envoit un mail.
Il faut donc ajouter une appli dans catalog avec un appel depuis le application_top.php.
Donc cela n'aurait rien à voir avec cette contrib qui est là pour lister rapidement depuis l'admin les produits en dessous de la limite.
Cette contrib n'a d'ailleurs que peu d'intérêt depuis les dernières maj de quick_update wink.gif biggrin.gif


--------------------
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)
Go to the top of the page
 
azer
posté 16 Sep 2003, 07:18
Message #24


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 744
Inscrit : 26-January 03
Lieu : paris
Membre no 775



wow j'essaie de suivre ... bon je viens d installer le code coller par galligan ..

1.Pourquoi au lieu de changer directement le nombre de produit, vous mettez un lien vers la fiche du produit ? surout que ca fait peur quand on voit
QUOTE
Nouveau produit dans
on sait ps trop si ca ajoute un nouveau produit ou is ca le met a jour

2. pour le fichier languages/french.php j'ai legerement modifié , faut encore mettre les code html pour les accents ... je sais pas si cest un gros probleme mais je met les éèà directement ...

CODE
define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS_LOW_STOCK', 'Affichage des produits <b>%d</b>& nbsp;à& nbsp;<b>%d</b> (sur <b>%d</b> en dessous du seuil d'alerte)');


--------------------
OSC addict - ms2fr - mail : azerosc (at) gmail.com
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 15:27
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)