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

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [resolu] changer la date d'entrée d'un produit
mouth56
posté 10 Sep 2010, 18:47
Message #1


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 192
Inscrit : 15-January 09
Lieu : Vannes
Membre no 24236



Bonjour,

je voudrais changer la date d'entrée d'un produit (car j'ai bcp de références (+ de 2000), et je voudrais faire remonter les produits de retour en stock).
Est-ce qu'il y aurait une manip de prévu pour faire cette action, ou une contribution ? (j'ai cherché mais pas trouvé confused.gif )

merci pour votre aide smile.gif

Ce message a été modifié par mouth56 - 12 Sep 2010, 12:55.


--------------------
version utilisée : oscommerce-2.2rc1-FR-w3c-3
sur Icodia

contributions : boximagethema, osplayer, featured_product, product extra field, search price range pulldown, loginbox, MATC, More Pics 6, discount coupon code 3.32, Salemaker, Anti Robot Registration Validation, Ban IP Addresses v2.0, visitor web stats 3.2, Optimize_tep_get_tax_ratev1.1, seo header tags v5, Modul_lettre 1.1, master password, short description v2.2, Product Name in navigation bar 1.00, Mini Images v2.0, googlemap, atos 2.7.1, paiement par mandat, dynamic sitemap v4.21, ultimate seo rewriting, ordercheck v2.5.1b, inventaire v1.1, Stats Products Notifications, Automatic Customer Stock Update Notification, Product Notifications In Product Page, Order Editor 5.0.7 (osc 2.2)
Go to the top of the page
 
Gnidhal
posté 11 Sep 2010, 14:59
Message #2


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9103
Inscrit : 4-March 03
Lieu : Auray
Membre no 927



La contribution Easypopulate devrait te permettre ça, en plus de tas d'autres choses sympas pour gérer ton catalogue à partir d'une feuille excel.
ça mérite un peu de soin avec l'usage d'excel qui, en version francophone, utilise la virgule comme séparateur décimal (alors que le code attend un point) mais ça peut se charger dans la config excel.


--------------------
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
 
FoxP2
posté 11 Sep 2010, 15:45
Message #3


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1449
Inscrit : 3-June 09
Membre no 25501



pas si pertinente l'idée de changer cette date d'ajout au catalogue.
la solution la plus propre étant de trier par date de modification des articles.
exemple, dans le module products_new, en changeant le filtre order_by :
Code
    $new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, pd.products_name, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by (SELECT IFNULL(p.products_last_modified,p.products_date_added)) DESC limit " . MAX_DISPLAY_NEW_PRODUCTS);




--------------------


Go to the top of the page
 
oneill
posté 11 Sep 2010, 18:12
Message #4


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7617
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



http://addons.oscommerce.com/info/4781
http://addons.oscommerce.com/info/4077

Et je n'ai pas trouvé celui que je voulais.


--------------------
Go to the top of the page
 
Bonbec
posté 11 Sep 2010, 20:02
Message #5


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 708
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonsoir,

Citation (FoxP2 @ 11 Sep 2010, 15:45) *
...la solution la plus propre étant de trier par date de modification des articles.

Autrement dit si je corrige une faute quelconque dans la fiche d'un article, cela le fait passer nouveau produit ?


--------------------
Config : Osc 2.2 très fortement modifié ... entièrement refait en mai 2012 (passage en UTF-8 et Php 5.3). Le passage à la 2.3 demanderait trop de travail mais je la teste en local ...
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + bidouilles persos pas très OsCommerce (erreurs de jeunesse)
En local j'utilise UwAmp, que du bonheur ...
Go to the top of the page
 
FoxP2
posté 11 Sep 2010, 20:49
Message #6


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1449
Inscrit : 3-June 09
Membre no 25501



Citation (Bonbec @ 11 Sep 2010, 20:02) *
Bonsoir,

Citation (FoxP2 @ 11 Sep 2010, 15:45) *
...la solution la plus propre étant de trier par date de modification des articles.

Autrement dit si je corrige une faute quelconque dans la fiche d'un article, cela le fait passer nouveau produit ?


Oui, malheureusement si on passe par le fichier [raide comme la justice] categories.php, et non un fichier dédié à la mise à jour rapide du stock.
La conception de la base de données est rigide.(c'était un choix qui a été opéré il y a 10 ans - mysql4). Aujourd'hui, avec un simple trigger sur le champs products_quantity de la table products permet une gestion de l’évènementiel(insert/update/delete avec option before/after) bien plus souple.
Mais c'est une autre façon de concevoir et de coder.(répartition de la charge dans la programmation entre le moteur de la base de données et le langage l'exploitant (Interface/langage PHP))
La date d'ajout doit si possible resté en l'état. Si on souhaite(par exemple) l'exploiter pour calculer une rotation de stock, la changer peut être un risque d'erreur dans les résultats.

La gestion du stock directement dans la table produit est une erreur de conception (il n'y a qu'à voir comment c'est une galère pour gérer des quantités avec des attributs qui ont leur propre stock).
Il n'y a qu'un cas de figure où cette configuration se justifierait :
avoir conçu des règles de gestion (via des functions) et des règles métiers (via des procédures stockées) au sein de la base de données. Mais ça demanderait à chacun d'avoir des connaissances avancées de programmation en SGBDR, ce qui n'est pas la vocation d'Oscommerce, qui a pour but de donner une solution open-source clé en main (ou presque) de vendre sur internet tout en restant abordable aux développeurs amateurs.(pas d'élitisme dans cette qualification, juste une réalité)

Sinon, je donnais une autre solution y'a quelques temps : http://www.oscommerce-fr.info/forum/index....st&p=347920

Ce message a été modifié par FoxP2 - 11 Sep 2010, 20:52.


--------------------


Go to the top of the page
 
mouth56
posté 12 Sep 2010, 11:39
Message #7


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 192
Inscrit : 15-January 09
Lieu : Vannes
Membre no 24236



wahou smile.gif smile.gif smile.gif

merci à tous pour vos réponses wink.gif

en fait, easy populate me fait un peu peur, j'ai cru comprendre (ou pit-être que je me trompe) qu'il n'était pas compatible avec certaines des contrib que j'ai déjà installé.

ta réponse, FoxP2, est forte interessante et peut-être une bonne alternative. (bien que ça induis de faire remonter un produit, même si on veut faire juste une petite modif sur l'ennoncé du produits). Du coup je vais plutôt commencer à tester, le 2ème lien d'oneill (le 1er, me rend un peu sceptique avec son "avertissement", genre si tu fais une erreur dans l'ecriture de la date, tu casses toute ta bd confused.gif??: ...)

bon, je teste ça et fait suivre si il y a un soucis cool.gif

Encore un gros merci à tous pour votre aide smile.gif smile.gif smile.gif


--------------------
version utilisée : oscommerce-2.2rc1-FR-w3c-3
sur Icodia

contributions : boximagethema, osplayer, featured_product, product extra field, search price range pulldown, loginbox, MATC, More Pics 6, discount coupon code 3.32, Salemaker, Anti Robot Registration Validation, Ban IP Addresses v2.0, visitor web stats 3.2, Optimize_tep_get_tax_ratev1.1, seo header tags v5, Modul_lettre 1.1, master password, short description v2.2, Product Name in navigation bar 1.00, Mini Images v2.0, googlemap, atos 2.7.1, paiement par mandat, dynamic sitemap v4.21, ultimate seo rewriting, ordercheck v2.5.1b, inventaire v1.1, Stats Products Notifications, Automatic Customer Stock Update Notification, Product Notifications In Product Page, Order Editor 5.0.7 (osc 2.2)
Go to the top of the page
 
brouillard
posté 12 Sep 2010, 11:55
Message #8


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 301
Inscrit : 9-December 09
Membre no 26687



tu vas dans phpmyadmin
Table products
et la date d'entrée se trouve dans le champ products_date_added
tu peux changer ce que tu veux, année, mois, ...
Go to the top of the page
 
mouth56
posté 12 Sep 2010, 12:25
Message #9


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 192
Inscrit : 15-January 09
Lieu : Vannes
Membre no 24236



merci brouillard, mais c'est une solution pas très ergonomique, je trouve ...

merci quand même wink.gif

là je viens de tester "EDIT PRODUCT POST DATE " (le 2ème lien d'oneill)

et je crois que je dois être dans la 4ème dimension ... je change la date d'entrée d'un produit (j'ai verifié, c'est changé aussi dans la bd ... forcement, c'est logique). mais le produit ne remonte pas (mes produits sont pourtants bien ordonnées de plus récent au plus vieux) pourtant, sa date d'entrée est bien changée (et la contrib n'est pas dure à installé, je suis sur de ne pas m'être trompé à ce niveau là).

mellow.gif ????????????? mellow.gif

edit : ok, j'avais pas fait attention que mes produits étaient ordonnées par product_id et non product_date ... alors forcément ...

re-edit : bon, ça marche smile.gif

mais j'ai du faire une petite modif dans index.php

mettre :

Code
if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('^[1-8][ad]$', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {
      for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
        if ($column_list[$i] == 'PRODUCT_LIST_NAME') {
          $HTTP_GET_VARS['sort'] = $i+1 . 'a';
          //$listing_sql .= " order by pd.products_name";
   // $listing_sql .= " order by pd.products_id DESC";
          $listing_sql .= " order by p.products_date_added DESC";


à la place de

Code
if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('^[1-8][ad]$', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {
      for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
        if ($column_list[$i] == 'PRODUCT_LIST_NAME') {
          $HTTP_GET_VARS['sort'] = $i+1 . 'a';
          //$listing_sql .= " order by pd.products_name";
    $listing_sql .= " order by pd.products_id DESC";


Ce message a été modifié par mouth56 - 12 Sep 2010, 12:54.


--------------------
version utilisée : oscommerce-2.2rc1-FR-w3c-3
sur Icodia

contributions : boximagethema, osplayer, featured_product, product extra field, search price range pulldown, loginbox, MATC, More Pics 6, discount coupon code 3.32, Salemaker, Anti Robot Registration Validation, Ban IP Addresses v2.0, visitor web stats 3.2, Optimize_tep_get_tax_ratev1.1, seo header tags v5, Modul_lettre 1.1, master password, short description v2.2, Product Name in navigation bar 1.00, Mini Images v2.0, googlemap, atos 2.7.1, paiement par mandat, dynamic sitemap v4.21, ultimate seo rewriting, ordercheck v2.5.1b, inventaire v1.1, Stats Products Notifications, Automatic Customer Stock Update Notification, Product Notifications In Product Page, Order Editor 5.0.7 (osc 2.2)
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 : 19th May 2013 - 22:59
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)