สร้างตัวกรอง Views


13

ฉันต้องการสร้างตัวกรองสำหรับโมดูลที่กำหนดเองที่ฉันสร้างและรวมเข้ากับมุมมอง ในสาระสำคัญโมดูลช่วยให้คุณสามารถกำหนดประเภทของความสัมพันธ์ระหว่างโหนดที่แตกต่างกัน ฉันต้องการสร้างตัวกรองสำหรับสิ่งนี้เพื่อให้ฉันสามารถแสดงโหนดของความสัมพันธ์บางประเภท

ฉันไม่พบเอกสารใด ๆ ที่อธิบายตัวกรองอย่างละเอียดและอธิบายส่วนต่าง ๆ ให้กับพวกเขา เอกสาร API นั้นยอดเยี่ยมมากในเรื่องนี้

ทุกคนสามารถแนะนำทรัพยากร / บทความที่ดีเกี่ยวกับการสร้างดูตัวกรองโดยละเอียดได้หรือไม่


(ย้ายจากคำตอบของฉันไปแสดงความคิดเห็น) ข้อความเช่น "เอกสาร API นั้นยอดเยี่ยมในเรื่องนี้" จะไม่กระตุ้นให้คนตอบคำถามของคุณ (โดยเฉพาะอย่างยิ่งไม่ใช่คนที่ใส่เวลาหลายชั่วโมงในการเขียนเอกสารมุมมองที่มีอยู่) ตั้งคำถามของคุณอย่างเป็นกลาง
Berdir

เมื่อคุณเข้าใจมุมมองเอกสารเป็นสิ่งที่ดี แต่วิธีการบางอย่าง (เช่นวิธีการสร้างตัวกรองมุมมอง) จะมีประโยชน์มาก
Jeremy French

1
@berdir คุณถูกต้องเกี่ยวกับการรักษาวัตถุประสงค์ของคำถาม ปัญหาคือเอกสารที่มีอยู่ไม่เพียงพอสำหรับการช่วยให้ผู้คนเข้าใจมุมมอง HOW ในการทำงานของโควต้า, โฟลว์กระบวนการ, ฟังก์ชั่นทั้งหมดหมายถึงอะไรจริง ๆ และคุณควรใช้มันอย่างไร เอกสารเกี่ยวกับ logrus เป็นเอกสารรหัสซึ่งควรจะเป็นมาตรฐานการปฏิบัติต่อไป ฉันขอบคุณสำหรับความพยายามของพวกเขา แต่ทำให้เกิดความผิดหวังในความเป็นจริงมันไม่ดีพอ เอกสารที่มีประโยชน์มากขึ้นจะนำไปสู่โค้ดที่ดีขึ้นโคเดอร์และชุมชนที่เข้มแข็งขึ้น แม้ว่านี่จะไม่ใช่การสนทนาสำหรับโพสต์นี้
ลอร์ด

คำตอบ:


6

คุณลองhttp://views-help.doc.logrus.com/หรือโมดูลความช่วยเหลือขั้นสูงแล้วหรือยัง

แก้ไข: :
แต่น่าเสียดายที่ไม่มีเอกสารลึกที่ฉันรู้ ฉันเขียนตัวจัดการฟิลด์ที่กำหนดเองและได้รับข้อมูลส่วนใหญ่จากตัวจัดการอื่นที่มาพร้อมกับมุมมอง ฉันขอแนะนำให้ดูที่ไดเร็กทอรี views / handers โดยเฉพาะไฟล์ทั้งหมดที่ขึ้นต้นด้วย 'views_handlers_filter_' อย่างน้อยนั่นคือสิ่งที่ฉันทำ


1
เจี๊ยก และมันไม่ชัดเจนในการเขียนโค้ดตัวกรอง มันอธิบายถึงวิธีการอธิบายตัวกรองเพื่อดูการใช้งานเท่านั้น และเอกสารประกอบ logrus ไม่เป็นประโยชน์ในการทำความเข้าใจวิธีการเขียนโค้ดตัวกรองและส่วนต่าง ๆ ของมัน
lordg

1
ดูเหมือนว่าเป็นตัวเลือกเท่านั้น นี่เป็นความยุ่งยากอย่างหนึ่งที่ฉันมีกับ Views และ drupal ตกลงเพื่อเริ่มต้น แต่ทันทีที่คุณต้องการเริ่มอาคารที่สูงขึ้นคุณต้องขุดลงในโค้ดและถอดรหัสสิ่งที่เกิดขึ้น
lordg

views.doc.logrus.comนั้นยอดเยี่ยมเช่นกันฉันไม่เห็นลิงก์จากเอกสารถึงสิ่งนี้
Jeremy French

4

ฉันคิดว่าเหตุผลที่เอกสารไม่ลึกเท่าที่คุณต้องการก็คือเมื่อคุณไปถึงระดับของการสร้างตัวกรองแล้วความรับผิดชอบก็อยู่ที่คุณจะเข้าใจความหมายของมัน เอกสารของ Views ที่ดีที่สุดคือตัวกรองพื้นฐานที่มีอยู่แล้ว คุณควรดูสิ่งต่าง ๆ เช่น views_handler_filter_string และ views_handler_filter_numeric เพื่อดูว่าโครงสร้างตัวกรองพื้นฐานจริง ๆ แล้วอย่างไร ตัวกรองส่วนใหญ่สืบทอดมาจากหนึ่งในนั้นเพราะท้ายที่สุดฟิลด์ส่วนใหญ่ต้องการตัวดำเนินการสตริงหรือตัวดำเนินการตัวเลข

จุดที่สองที่จะดูคือ views / modules / node และตรวจสอบตัวกรองโหนด ที่จัดการตัวกรองพิเศษพื้นฐานของคุณสำหรับสิ่งต่าง ๆ เช่นชนิดโหนด เมื่อคุณทราบวิธีที่ views_handler_filter_in_operator ทำงานแล้วนั่นคือตัวกรอง 99% และคุณต้องใช้ตัวกรองที่กำหนดเองน้อยมากยกเว้นใช้ตัวกรองอย่างใดอย่างหนึ่ง


หากเป็น Earl Miles ตัวจริงยินดีต้อนรับสู่ drupal.se
Jeremy French

3

เอกสารที่ดีที่สุดเกี่ยวกับ Views API น่าจะเป็นhttp://drupal-building-blocks.com/ http://drupal-building-blocks.com/ดังนั้นอาจเป็นตัวเลือกถ้าคุณสามารถ (และต้องการ) จ่ายได้

ตามที่ EricSchaefer ได้กล่าวแล้วทางออกที่ดีที่สุดของคุณยกเว้นหนังสือเล่มนั้นคือการใช้ตัวกรองที่มีอยู่ซึ่งใกล้เคียงกับสิ่งที่คุณต้องการมากที่สุดคัดลอกไปยังโมดูลเปลี่ยนชื่อและเริ่มขยาย

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


ขอบคุณสำหรับลิงค์ google ตัวแรกที่ค้นพบและใช้งานแล้ว อันที่สองก็ดูมีประโยชน์เช่นกัน
ลอร์ด

2

นี่คือบทเรียนที่ฉันพบในการสร้างตัวกรอง Views:

พวกมันค่อนข้างพื้นฐานและคุณอาจยังสงสัยว่ามีอะไรเกิดขึ้น ไม่มีตัวเลือกอื่นนอกจากให้คลิกไปที่ฟังก์ชันของ Views และวิธีการตรวจสอบคุณสมบัติการสืบทอด ฯลฯ หากฉันพบบทเรียนเพิ่มเติมฉันจะเพิ่มมันต่อไป


0

มีหนังสือในปี 2011 เรื่อง "Building Block ของ Drupal: สร้างเว็บไซต์ได้อย่างรวดเร็วด้วย CCK, Views และ Panels" ซึ่งยอดเยี่ยมมาก

ทำการค้นหาบนเว็บด้วย: 110112-WebformInViews2.mov มันเป็นภาพยนตร์ทีละขั้นตอนในการสร้างมุมมอง

หรือเพียงแค่คัดลอกมุมมองของคุณและกรองสิ่งที่คุณไม่ต้องการ

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