Je cherche à faire une boucle en triant les articles par date de rédaction antérieure, si elle existe, sinon, la date de publication.
Par exemple :
Article A, publié le 10 décembre 2019, mais ayant une date de rédaction antérieure au 1er novembre 2019
Article B, publié le 1er décembre 2019
Article C, publié le 1er octobre 2019
La boucle devrait alors afficher, dans l’ordre:
Article B
Article A
Article C
Je pense que c’est faisable en remplissant un tableau, indexé avec, pour chaque article, la date de rédaction antérieure si elle est renseignée, sinon la date de publication, puis en triant le tableau, puis en bouclant dessus.
Mais est-ce qu’il y aurait une solution en passant directement les critères sur la boucle ARTICLES?
Sauf erreur, si je mets {!par date_redac,date}, ça ne fonctionne pas, je crois, car les articles ayant une date de redac vide apparaissent alors en premier, sans tenir compte de leur date de publication.
Une piste finalement peut-être la plus propre: écrire un plugin.
Il aurait comme effet:
A l’installation, de passer toutes les dates de redac à la valeur de date de publication pour les articles ayant le statut publié et n’ayant pas de date de redac.
A la publication d’un article (pipeline pre_edition? ou instituer_article, je sais plus), copier la date de publi dans la date de redac si elle n’est pas renseignée.
Ensuite, on peut faire des boucles sur {!par date_redac} toutes simples.
Je cherche à faire une boucle en triant les articles par date de rédaction antérieure, si elle existe, sinon, la date de publication.
Par exemple :
* Article A, publié le 10 décembre 2019, mais ayant une date de
rédaction antérieure au 1er novembre 2019
* Article B, publié le 1er décembre 2019
* Article C, publié le 1er octobre 2019
La boucle devrait alors afficher, dans l'ordre:
1. Article B
2. Article A
3. Article C
Je pense que c'est faisable en remplissant un tableau, indexé avec, pour chaque article, la date de rédaction antérieure si elle est renseignée, sinon la date de publication, puis en triant le tableau, puis en bouclant dessus.
Mais est-ce qu'il y aurait une solution en passant directement les critères sur la boucle ARTICLES?
Quelques pistes :
- critère {where ...}
- Dans la syntaxe MySQL, il doit être possible de faire un ISNULL sur un champ et d'en prendre un autre (l'équivalent de (cond ? true: false) en php