Récemment
-
date_upd produits
Bugs & Améliorations13 -
Champ description longue pour les catégories
Modules5 -
Erreurs suite à la mise à jour
Questions relatives à l'installation/upgrade10 -
Modification sur le thème "Craft"
Questions relatives à l'installation/upgrade2 -
Module personnalisation de produit
Modules3 -
Theme non fonctionnel - après MAJ de la Phenixsuite 1.6.2.32
Questions relatives à l'installation/upgrade13 -
TinyMCE
Bugs & Améliorations2 -
Déclinaisons virtuelles avec fichiers
PhenixSuite10 -
[RESOLU]Lien téléchargement dans le mail
Discussion générale6 -
[RESOLU]RGPD
Modules5 -
Compatibilité des modules
Discussion générale2 -
[RESOLU]Bug page Préférences Produits
Bugs & Améliorations4 -
htaccess chatouilleux ?
Bugs & Améliorations14 -
Installation depuis boutique 1.6.1.17
Questions relatives à l'installation/upgrade19 -
[RESOLU]Module réassurance, permettre le html
Modules4 -
Des modules et des hacks - liste non exhaustive des modules présentant un risque
Discussion générale17 -
Thème enfant
PhenixSuite16 -
SumUp Payments Constant Update Request
Modules2 -
PaypalAPI erreur
PhenixSuite53 -
Problèmes de prix avec plusieurs devises et PayPal
PhenixSuite6
date_upd produits
-
Bonjour à tous,
Je constate que la date_upd d'un produit est modifiée même quand il n'y a pas eu de modif sur la fiche de ce produit et qu'on l'a quittée sans Enregistrer. Même si je quitte la fiche en cliquant sur Produits par exemple. Est-ce normal ? Je n'avais pas constaté cela auparavant, peut-être était-ce déjà comme cela. Mais cela fausse l'affichage des produits quand on le règle sur date de mise à jour : un produit non modifié, juste ouvert puis quitté, se retrouve en tête de classement. Si c'est normal, je vais éviter d'ouvrir une fiche sans y apporter de modification.Merci d'avance
-
Non, je viens de tester sur une installation vierge, la date ne change pas si on ne fait que consulter.
Avez-vous des onglets supplémentaires dans la page produit (modules) qui eux feraient un update ?
-
De fait, j'aurais dû commencer par ce test ! Effectivement, sur la version vierge, cela ne le fait pas. J'ai donc cherché, j'ai désactivé les overrides, les modules non Prestashop, le module que j'ai créé pour récupérer la date_upd afin de l'afficher. J'ai activé le debug et toutes ses options pour voir ce qui était appelé. Pas de changement. La différence avec l'installation vierge est que les produits sont des produits dématérialisés. J'en ai donc créé un sur le Phenix vierge. Bingo, là, chaque fois que j'ouvre la fiche du produit et la referme, date_upd change même si je quitte la page en cliquant sur un des menus de la colonne de gauche.
J'ai alors testé l'inverse sur mon site de dev, en créant un produit standard. Mais là, la date_upd est aussi modifiée chaque fois que je quitte la page. Il n'y a aucun onglet supplémentaire.
-
Effectivement, le test sur version vierge met à jour la date_upd.
Bonne nouvelle ce n'est pas le cas sur la v33 (je sais que j'ai modifié le code concernant les fichiers associés des produits virtuels, c'est surement lié)
-
Ah :-) j'attends cette v33 avec impatience ! Vous auriez une idée de quand elle sera dispo ? Sans vouloir vous presser bien sûr, c'est énorme ce que vous faites !
-
Ca ne devrait plus tarder mais il y a toujours quelque chose à ajouter/corriger et j'ai à m'occuper de mes clients aussi^^
-
Bien sûr ! Franchement, j'admire ! Tout ça + répondre au forum ! Et les journées ne font que 24h ...
En attendant, j'essaie de créer un champ date à remplir manuellement quand on upload un nouveau fichier afin d'afficher cette date dans la fiche produit. Vu que je ne suis pas rapide pour ce genre de choses, la maj sera peut-être dispo avant, pas grave, j'apprends :-)
-
Bonsoir,
En fait, j'ai pas mal avancé sur ce module qui ajoute un champ date_fileupd à la table product_download vu que j'avais déjà commencé précédemment (avant de me rendre compte que date_upd changeait à chaque fermeture de page).
J'ai configuré le bazar pour qu'on remplisse à la main le champ, exactement comme le champ date_expiration. Un hook permettra ensuite d'ajouter un onglet "Dernières mises à jour" sur la home, et cette date sera affichée sur la fiche du produit, et, si tout se passe bien comme prévu, s'adapter à la déclinaison choisie.
Mais il y a une dernière chose que je souhaite ajouter avant de tester le module, c'est la possibilité d'ajouter un tri par défaut sur ce champ dans les Préférences > Produit > Pagination.
J'ai trouvé le fichier qui affiche le choix dans l'admin, c'est AdminPPreferencesController.php. Mais quel est le fichier qui gère les requêtes pour ces tris ?? Serait-ce bien la fonction public function getProducts($id_lang, $p, $n, $order_by = null, $order_way = null, $get_total = false, ... à la ligne 844 de Category.php ?
Je voudrais juste savoir si c'est bien cela.Merci d'avance
-
Oui c'est bien cela.
regardez comment sont écrits les modules qui utilisent la pagination (le controleur front de productcomments par exemple)
-
Merci Eolia. Mais le module productcomments n'a pas de fonction de tri sur tel ou tel paramètre ou j'ai pas compris quelque chose ?
-
oups pardon, oui je me suis mélangé avec la pagination.
Si vous voulez uniquement un tri par défaut ajoutez un ORDER BY votre_colonne ASC ou DESC à la requête qui ramène vos fichiers.
Si vous voulez que l'internaute puisse modifier ce choix c'est un peu plus complexe (il va falloir faire croire à Prestashop que ce sont des produits car il ne sait pas trier autre chose)
-
En fait, c'est bien la liste de produits que je veux afficher selon le critère de tri : date_fileupd (comme cela existe avec date_add, date_upd).
J'ai donc overridé :- AdminPPreferencesController en modifiant la ligne "sales" qui ne semble pas servir :
array('id' => '8', 'name' => $this->l('Product file update'))
- product_sort.tpl :
<option value="date_fileupd:asc"{if $orderby eq 'date_fileupd' AND $orderway eq 'asc'} selected="selected"{/if}>{l s='File Update Date: Oldest first'}</option> <option value="date_fileupd:desc"{if $orderby eq 'date_fileupd' AND $orderway eq 'desc'} selected="selected"{/if}>{l s='File Update Date: Newest first'}</option>
- Category.php avec ajout d'un orderby avant la requête sql
if($order_by == 'date_fileupd') { $order_by_prefix = 'pd'; $order_by = 'date_fileupd'; }
et dans le sql ajouté :
LEFT JOIN `'._DB_PREFIX_.'product_download` pd ON(pd.`id_product` = p.`id_product`)
- Tools.php, dans $list ajout du champ
8 => 'date_fileupd'
et dans if prefix
elseif($value == 'date_fileupd') { $order_by_prefix = 'pd.'; }
Et je crois que c'est tout.
Dans Préférences > Produits > Pagination : le nouveau choix est bien affiché.
En front, ce nouveau choix apparaît dans la sélection de tri.
Mais ... que ce soit en le mettant comme tri par défaut dans l'admin, ou en le sélectionnant sur la page produit, et même si me tri apparaît bien dans l'url, c'est l'ordre par défaut (par nom) qui est appliqué.
Et pourtant, au début, dans AminPPreferencesController, j'avais mis comme id 8 et là, en front, il affichait "sales" dans la liste de tri.
Je vide le cache (suppression de index.php dans cache/classes à chaque modif).
Si vous avez un semblant de tuyau à me donner, je reprends courage :-)Merci d'avance !
{EDIT] c'est dfans Tools.php que j'ai remplacé "sales" par "date_fileupd" pour l'id 8. Dans AdminPPreferencesController, il n'y était pas, je l'ai rajouté)
-
Il faudrait mettre à jour le fichier product-sort.tpl de votre thème car il ne connait pas votre nouveau champ de tri ;)