Pour un client qui a un site avec des milliers d'articles qu'il a besoin de trier manuellement régulièrement, j'avais fait un override du template articles > default.php pour afficher la valeur du champ "ordering" (il est présent dans le template par défaut, mais caché par le CSS). Il suffit de changer la valeur de ce champ et de cliquer sur une icône en en-tête et le nouvel ordre est enregistré.
Dans le header il s'agissait juste d'ajouter 3 lignes (dans administrator > com_content > views > articles > tmpl > default.php) :
Original (lignes 77-79)
Override (dans le template Isis)
Malheureusement, dans Joomla! 4, ça ne fonctionne plus. Je peux afficher le contenu de ordering, mais l'ajout du code ci-dessus produit une erreur JS : "saveorder is not defined"
Il semble que la fonction de tri a été réécrite dans Joomla! 4 mais est-ce que quelqu'un aurait une idée pour enregistrer un nouvel ordre de tri sans passer par le drag and drop ?
Dans le header il s'agissait juste d'ajouter 3 lignes (dans administrator > com_content > views > articles > tmpl > default.php) :
Original (lignes 77-79)
Code:
<th width="1%" class="nowrap center hidden-phone"> <?php echo JHtml::_('searchtools.sort', '', 'a.ordering', $listDirn, $listOrder, null, 'asc', 'JGRID_HEADING_ORDERING', 'icon-menu-2'); ?> </th>
Override (dans le template Isis)
Code:
<th width="7%" class="nowrap center hidden-phone"> <?php echo JHtml::_('searchtools.sort', '', 'a.ordering', $listDirn, $listOrder, null, 'asc', 'JGRID_HEADING_ORDERING', 'icon-menu-2'); ?> <?php if ($saveOrder) :?> <?php echo JHtml::_('grid.order', $this->items, 'filesave.png', 'articles.saveorder'); ?> <?php endif; ?> </th>
Il semble que la fonction de tri a été réécrite dans Joomla! 4 mais est-ce que quelqu'un aurait une idée pour enregistrer un nouvel ordre de tri sans passer par le drag and drop ?