[Résolu] critères de tri : logique

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Dans views, je souhaite trier des évènements par date afin de présenter les évènements qui se terminent en 1er d'abord.
Oui mais...

mes évènements à trier ont une date de début et une date de fin... mais pas toujours... Ce champ parfois est vide.
C'est à dire que certains évènements sont des RDV (sur une journée), d'autres représentent des périodes.

L'idée est de mettre en premier dans ma liste les évènements se terminant le + tôt.
Contenu : Date de fin (asc)

Oui mais du coup quand ils n'ont pas de date de fin, il faudrait que je puisse prendre la date de début comme date de fin, afin que la comparaison des dates se fasse bien. (car sinon tous les évènements qui n'ont pas de date de fin sortent en 1er, quelle que soit la date de début.

alors j'ai ajouté 1 critère :
Contenu : Date de début (asc)

Donc si :
Contenu : Date de fin (asc)
Contenu : Date de début (asc)

alors :
Evènement A : Dbt 15/06 > Fin 29/06
Evènement B : Dbt 01/07 > Fin 02/07
-> OK

ou
Evènement B : Dbt 01/07 > Fin 02/07
Evènement A : Dbt 15/06 > Fin 03/07
-> OK

ou
Evènement A : Dbt 02/07
Evènement B : Dbt 01/07 > Fin 03/07
-> OK

Mais :
Evènement A : Dbt 02/07
Evènement B : Dbt 28/06 > Fin 29/06
-> PAS OK

On est d'accord, le système fait bien ce que je demande. j'ai essayé plusieurs choses différentes mais je ne peux je crois pas arriver à mes fins tant que mon tri ne s'effectue pas sur :"si date de fin existe pas, prend la date de début comme date de fin".

Je ne vois pas comment faire... Est-ce par ailleurs possible (et comment) ?

Si vous avez une idée, je ne suis pas contre...
Merci d'avance de votre aide

Version de Drupal : 

Existe t'il un module pour prendre des champs pour d'autres dans les critères de tri.
J'ai bien tenté avec les réécritures mais évidemment, la réécriture n'est pas prise en compte dans le classement.

J'ai vu ça : https://www.drupal.org/project/views_ifempty mais il ne semble pas que ça puisse faire ce que je cherche (ou je n'y arrive pas).

Auriez vous une piste ou un conseil ?
Merci d'avance

Je pense que tu te prends un peu trop le choux sur ce coup là, à ta place je rendrais le champs date de fin obligatoire, et s'il y en a pas la personne en charge du contenu mettrait la même date en début et en fin. Après je ne connais pas les contraintes que tu as, mais ça me semble de loin être la solution la plus simple et la plus maintenable.

Bon courage !

Hé. Oui bien sûr tu as complètement raison. en plus c'est moi la personne derrière alors bon... :) y a que moi que ça dérange.
Mon soucis c'était que quand c'est une expo, elle dure "du ... au ...", tandis que quand c'est une performance (un évènement) c'est "le". je vais rendre obligatoire la date de fin, et mettre une case à cocher en + selon si il faut l'afficher ou pas...
j'aurais bien fait une petite condition à la place (si les deux champs sont strictement identiques n'affiche que la date de début avec un joli "le" devant) mais bon hein... je vais voir. si j'y parviens je posterai ici la réponse. Merci de ton aide en tout cas, et merci, les encouragements ne sont pas de trop :)