Comment puis-je configurer un filtre exposé afin que les utilisateurs puissent filtrer le contenu de mon site par date de création, de préférence à l'aide d'un sélecteur de date?
J'ai essayé d'utiliser Contenu: Créé sur comme filtre, mais il me donne un champ de texte pour entrer la date pour entrer une date/heure dans le aaaa-mm-jj hh: mm: ss , ce qui rend la saisie de la date plus difficile pour les utilisateurs et plus sujette aux erreurs.
Quelle est la différence entre Drupal 8 et Drupal 7 avec Vues 7.x-3?
Vous pouvez utiliser le module Date Popup .
Ajoute le widget contextuel de date HTML 5 natif à tous les champs de date dans les filtres de vues.
Comme tiliser l'élément de formulaire de type date à la place du champ de texte lors de la sélection d'une date dans un filtre exposé est toujours en cours.
Il y a un nouveau patch sorti il y a quelques jours, je le teste dans un projet et ça marche très bien. Voici le problème:
Problème/motivation
Lors de l'ajout d'un filtre exposé datetime, je ne peux pas simplement sélectionner une date - je dois entrer manuellement une date qui est très mauvaise UX.
Ajoutez le sélecteur de date jquery pour cette page en tant que dépendance. your_theme.libraries.yml
date-picker:
js:
script/site-datepicker.js : {}
dependencies:
- core/jquery
- core/jquery.ui.datepicker
site-datepicker.js
Drupal.behaviors.customDatepicker = {
attach: function (context, settings) {
jQuery(function () {
jQuery("#datepicker").datepicker({
dateFormat: "dd-mm-yy",
altField: "input[data-drupal-selector=edit-created]",
altFormat: "yy/mm/dd 23:59:59"
});
});
}
};
vues-exposé-forme - vues-bloc-nom . html.twig
{% if q is not empty %}
{#
This ensures that, if clean URLs are off, the 'q' is added first,
as a hidden form element, so that it shows up first in the POST URL.
#}
{{ q }}
{% endif %}
<input id="datepicker" type="text">
<input data-drupal-selector="edit-created" data-msg-maxlength="This field field has a maximum length of 128." name="created" size="30" maxlength="128" aria-invalid="false" type="hidden">
{{ form|without('created') }}
Le module Better Exposed Filters s'intègre aux champs de type de date, y compris la fenêtre contextuelle de date. Vous pouvez utiliser ce module pour ajouter facilement un filtre exposé avec le popup de date.
C'est en version bêta pour l'instant mais vous pouvez l'utiliser.