Dans Drupal 7 avec le module Vues une date activé, il était assez facile de filtrer une vue par date: l'interface utilisateur vous a simplement donné la possibilité de le faire.
Dans Drupal 8, cependant, le champ de date et les vues font partie du noyau, mais si vous choisissez un champ de plage de dates comme filtre dans les vues, il ne vous offre plus d'options spécifiques à la date, mais vous montre uniquement les options de filtrage pour les champs de texte:
Cependant, les options spécifiques à la date sont disponibles pour les valeurs de date internes comme «Contenu: modifié»
Comme je voudrais afficher uniquement des nœuds spécifiques, avec une date avant ou après la date réelle, où la date est spécifiée par un champ de plage de dates personnalisé, cela ne correspond pas à mes besoins.
Comment puis-je filtrer une vue dans Drupal 8 par un champ de date avec des opérations spécifiques à la date?
Réponses:
Étonnamment, ce n'est pas encore possible avec Drupal 8. Mais il y a une longue histoire d'essayer de le faire fonctionner: https://www.drupal.org/node/2786577 Le dernier patch , que vous trouverez dans cet article, semble fonctionner. Vous pouvez le télécharger et l'appliquer à l'aide des commandes suivantes:
Si
git
n'est pas disponible sur votre serveur, essayez:POUR appliquer les correctifs, vous devez d'abord accéder au
core
dossier. Et sachez que vous devez réappliquer ce correctif, après avoir validé une mise à jour principale. (Cela craint!) Alors espérons que les Dieux Drupal vont bientôt intégrer cela!la source
drush updatedb --entity-updates
J'ai dû filtrer un type de contenu contenant les dates des enchères en trois groupes (maintenant en ligne, à venir et prêts à s'inscrire). Comme cela impliquait plusieurs daterange, j'ai écrit un plugin basé sur cet article: https://www.webomelette.com/creating-custom-views-filter-drupal-8
Fondamentalement, cela fait trois choses: - Convertir les dates du champ en date et heure locales. - Le filtre a trois paramètres possibles «maintenant en ligne», «à venir» et «autre» - En fonction des paramètres, il ajoute les clauses where possibles à la requête
Il fonctionne et semble robuste aux futures mises à jour.
la source
En utilisant le plug-in de filtre d'intervalle, vous pouvez choisir deux champs à utiliser respectivement comme date minimale et maximale, ce qui introduit le concept de plage. Vous pouvez ensuite filtrer les vues en spécifiant une date qui doit être contenue ou non dans la plage.
Jetez un œil à: https://github.com/barsan-ds/interval-filter pour des exemples
la source
Actuellement, Views ne connaît pas très bien les plages de dates. Il peut filtrer la date de début ou de fin en tant que filtres séparés, mais pas la plage de dates dans son ensemble.
Pour activer le filtrage basé sur la plage de dates, j'ai créé le module Vues Filtres de plage de dates . Actuellement, il a 3 filtres supplémentaires pour les champs de plage de datetime:
Comprend
Filtre par plages de dates qui incluent la date fournie.
Chevauchements
Filtre par plages de dates qui chevauchent la plage de dates fournie.
Se termine par
Filtre par plages de dates se terminant par la date fournie. Équivalent à "Date de fin <= date fournie". Utile pour les filtres groupés lors de l'utilisation de "Date de début".
la source
Popup de date Ce module sert le but.
la source