วิธีกำหนดค่าตัวกรองที่เปิดเผยในมุมมองโดยใช้ตัวใช้เลือกวันที่


11

ฉันจะกำหนดค่าตัวกรองแบบเปิดเผยเพื่อให้ผู้ใช้สามารถกรองเนื้อหาเว็บไซต์ของฉันตามวันที่สร้างได้อย่างไรโดยใช้ตัวเลือกวันที่

ฉันลองใช้เนื้อหา: เขียนโดยเป็นตัวกรอง แต่ฉันได้รับฟิลด์ข้อความเพื่อป้อนวันที่เพื่อป้อนวันที่ / เวลาในรูปแบบyyyy-mm-dd hh: mm: ssซึ่งทำให้การป้อนวันที่ยากขึ้นสำหรับผู้ใช้ และเกิดข้อผิดพลาดได้ง่ายขึ้น

ความแตกต่างระหว่าง Drupal 8 กับ Drupal 7 กับViews 7.x-3 คืออะไร?


คุณเพิ่งลองเพิ่มตัวกรอง "เนื้อหา: สร้างแล้ว" หนึ่งรายการ (มีรสชาติต่างกัน) แล้วเปิดเผยหรือไม่
mpdonadio

ไม่พบตัวกรอง "เนื้อหา: สร้างแล้ว" มี "เนื้อหา: เขียนโดย", "การแก้ไขเนื้อหา: เขียนโดย" และ "คำศัพท์ทางภาษี: วันที่โพสต์" เท่านั้น
Sam

ไปตามหน่วยความจำ "เนื้อหา: เขียนโดย" ทำงานหรือไม่
mpdonadio

"เนื้อหา: สร้างเมื่อ" ให้กล่องป้อนข้อมูลสำหรับผู้ใช้เพื่อป้อนวันที่ในรูปแบบ yyyy-mm-dd hh: mm: ss ซึ่งซับซ้อนเกินไป จะแสดงวันที่เดือนและปีดรอปดาวน์หรือเครื่องมือเลือกวันที่ได้อย่างไร
Sam

3
ยังไม่ได้รับการสนับสนุนdrupal.org/node/2648950 ฉันหวังว่าจะได้รับการสรุปในสัปดาห์นี้และเป็น 8.2.x
mpdonadio

คำตอบ:


5

คุณสามารถใช้โมดูลDate Popup

เพิ่มวิดเจ็ตป๊อปอัพวันที่ HTML 5 ดั้งเดิมลงในฟิลด์วันที่ทั้งหมดในตัวกรองมุมมอง

เนื่องจากองค์ประกอบฟอร์มใช้เป็นวันที่แทนฟิลด์ข้อความเมื่อเลือกวันที่ในตัวกรองที่เปิดเผยยังคงดำเนินการอยู่


1

มีแพทช์ใหม่เปิดตัวไม่กี่วันที่ผ่านมาฉันทดสอบในโครงการและใช้งานได้ดี นี่คือปัญหา:

ใช้องค์ประกอบแบบฟอร์มวันที่พิมพ์แทนฟิลด์ข้อความเมื่อเลือกวันที่ในตัวกรองที่เปิดเผย

ปัญหา / การสร้างแรงจูงใจ

เมื่อเพิ่มตัวกรองที่เปิดเผยวันที่และเวลาฉันไม่สามารถเลือกวันที่ - ฉันต้องป้อนวันที่ด้วยตนเองซึ่งเป็น UX ที่แย่มาก

และโปรแกรมแก้ไขคือหมายเลข 65


1

กรองที่ดีกว่าแดงโมดูลผสานรวมกับช่องวันชนิดรวมถึงวันที่ป๊อปอัพ คุณสามารถใช้โมดูลนี้เพื่อเพิ่มตัวกรองที่เปิดเผยด้วยป๊อปอัพวันที่ได้อย่างง่ายดาย

มันเป็นรุ่นเบต้าในตอนนี้ แต่คุณสามารถใช้งานได้


ในกรณีที่คุณใช้เอนทิตี API เพื่อเพิ่มฟิลด์ (ผ่าน BaseFieldDefinitions) แทนที่จะเป็นฟิลด์ API: BEF ไม่ทำงานสำหรับฟิลด์วันที่และเวลาใช้งานได้กับการประทับเวลาเท่านั้น
aaronbauman

1

เพิ่มตัวเลือกวันที่ jquery สำหรับหน้านั้นเป็นการพึ่งพา your_theme.libraries.yml

date-picker:
  js:
    script/site-datepicker.js : {}
  dependencies:
    - core/jquery
    - core/jquery.ui.datepicker

เว็บไซต์ 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-exposed-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') }}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.