Jak skonfigurować filtr narażony w widoku za pomocą selektora dat?


11

Jak skonfigurować odsłonięty filtr, aby użytkownicy mogli filtrować zawartość mojej witryny według daty utworzenia, najlepiej przy użyciu selektora dat?

Próbowałem użyć Content: Authored on jako filtru, ale otrzymuję pole tekstowe do wprowadzenia daty i daty / godziny w formacie rrrr-mm-dd gg: mm: ss , co utrudnia wprowadzanie daty użytkownikom i bardziej podatne na błędy.

Jaka jest różnica między 8 a Drupal Drupal 7 z Views 7.x-3?


Czy próbowałeś właśnie dodać jeden z filtrów „Treść: Utworzono” (istnieją różne smaki) i go ujawnić?
mpdonadio

Nie można znaleźć filtra „Treść: Utworzono”. Mają tylko „Treść: Autoryzowany na”, „Korekta treści: Autoryzowany na” i „Termin taksonomii: Data publikacji”.
Sam

Poszedł pamięć. Czy działa funkcja „Treść: Autoryzowane w”?
mpdonadio

„Treść: Autoryzowane włączone” daje użytkownikom pole do wprowadzenia daty w formacie rrrr-mm-dd gg: mm: ss, co jest zbyt skomplikowane. Jak wyświetlić listę rozwijaną daty, miesiąca i roku lub próbnik daty?
Sam

3
To nie jest jeszcze obsługiwane, drupal.org/node/2648950 Mam nadzieję, że zostanie to podsumowane w tym tygodniu i w wersji 8.2.x.
mpdonadio

Odpowiedzi:




1

Moduł Better Exposed Filters integruje się z polami typu daty, w tym wyskakującym okienkiem daty. Możesz użyć tego modułu do łatwego dodania odsłoniętego filtra z wyskakującym okienkiem daty.

Na razie jest w wersji beta, ale możesz go używać.


Jeśli do dodawania pól używasz interfejsu API encji (przez BaseFieldDefinitions), zamiast interfejsu API pola: BEF nie działa w przypadku pól daty i godziny, działa tylko w przypadku znaczników czasu.
aaronbauman

1

Dodaj selektor daty jquery dla tej strony jako zależność. 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"
      });
    });
  }
};

views -posed-form-- views-block-name .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') }}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.