web-dev-qa-db-fra.com

Comment configurer un filtre exposé dans une vue à l'aide d'un sélecteur de date?

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?

11
Sam

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.

5
milkovsky

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:

tilisez l'élément de formulaire de type date au lieu du champ de texte lors de la sélection d'une date dans un filtre exposé

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.

Et le le patch est le numéro 65

1
Adrian Cid Almaguer

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') }}
1
Razeem Ahmad

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.

1
Lovejit S.