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é)