ฉันจะเรียนรู้มุมมอง 3 API ได้อย่างไร ฉันสามารถใช้ UI เพื่อสร้างมุมมอง แต่ฉันต้องการสร้างมุมมองโดยใช้ API ในโมดูลของฉัน ฉันจะชำระให้กับ views 2 API ณ จุดนี้ ฉันดูเอกสารและไม่ได้ไปไกลมาก ใครรู้ว่าการกวดวิชาที่ดี?
ฉันจะเรียนรู้มุมมอง 3 API ได้อย่างไร ฉันสามารถใช้ UI เพื่อสร้างมุมมอง แต่ฉันต้องการสร้างมุมมองโดยใช้ API ในโมดูลของฉัน ฉันจะชำระให้กับ views 2 API ณ จุดนี้ ฉันดูเอกสารและไม่ได้ไปไกลมาก ใครรู้ว่าการกวดวิชาที่ดี?
คำตอบ:
ไม่แน่ใจว่าคุณหมายถึงอะไรในมุมมอง "สร้าง"
ก่อนอื่นถ้าคุณมีตาราง / ข้อมูลที่กำหนดเองคุณสามารถใช้hook_views_data ()และปลั๊กอินและตัวจัดการที่กำหนดเองเพื่อบอกมุมมองวิธีเข้าถึงตารางเหล่านี้ ตัวอย่างบทเรียน / ตัวอย่าง: http://treehouseagency.com/blog/neil-hastings/2010/01/19/views-handler-easy-way (Drupal 6) และhttp://larsolesen.dk/node/273 (Drupal 7) แต่อีกครั้งคุณจะต้องใช้สิ่งนี้หากคุณต้องการแสดงตารางของคุณเองเพื่อดู
จากนั้นมีจำนวนของการเรนเดอร์ล่วงหน้าและแก้ไข hooks ซึ่งช่วยให้คุณสามารถแก้ไขบางสิ่งที่คุณไม่สามารถทำได้ในส่วนต่อประสานผู้ใช้ รายการของมุมมอง hooks ใน Drupal 6
ที่กล่าวว่าไม่มี "API" เพื่อสร้างมุมมองจริง (ที่ฉันรู้) ฉันคิดว่าทุกคนใช้ UI การดู (นั่นคือ UI ที่ยอดเยี่ยมใน Drupal 7) สิ่งที่คุณสามารถทำได้คือส่งออกมุมมองที่คุณสร้างใน UI เพื่อแจกจ่ายมุมมองเหล่านั้นกับโมดูลของคุณหรือเป็นโมดูลใหม่ นอกจากนี้ยังเป็นประโยชน์สำหรับโมดูลที่สนับสนุน / ไม่เพียง แต่จะเปิดเผยตารางของพวกเขาไปยังมุมมอง แต่ยังให้มุมมองตัวอย่างซึ่งสามารถปรับแต่ง / ขยายสำหรับไซต์ที่เฉพาะเจาะจง
แทนที่จะส่งออกด้วยตนเองคุณสามารถใช้โมดูลคุณสมบัติซึ่งช่วยให้คุณสามารถส่งออกการกำหนดค่าทุกประเภท (มุมมองประเภทเนื้อหาฟิลด์การอนุญาต ... ) ไปยังคุณลักษณะที่เรียกว่า (ซึ่งโดยทั่วไปจะเป็นโมดูลที่สร้างขึ้นโดยอัตโนมัติ) . สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อย้ายการกำหนดค่าเช่นมุมมองจากการพัฒนาไปยังการติดตั้งที่ใช้งานจริงหรือการใช้มุมมอง / การกำหนดค่าเดียวกันบนไซต์หลายแห่งอีกครั้ง
ฉันสามารถสร้างมุมมองโดยใช้ Views UI จากนั้นฉันเพิ่มมุมมองที่ส่งออกไปhook_views_default_views()
และสร้างhook_views_api()
และใช้งานได้! นี่เป็นวิธีที่ดีที่สุดในการทำเช่นนี้
วิธีที่ดีในการพิจารณาว่าจะเริ่มต้นอย่างไรกับ Views 3 API คือดูที่ hooks และลำดับการดำเนินการ (น่าเสียดายที่ฉันไม่สามารถหาได้) แต่โพสต์นี้เป็นสิ่งทดแทนที่ดี: มันเป็นงานที่ดีในการอธิบายวงจรชีวิตของมุมมองที่แสดงลำดับที่เกิดเหตุการณ์เบ็ดขึ้น
ดูที่บล็อกหน่วยความจำของDrupalจากผู้เขียนมุมมอง Earl Miles ซึ่งมีทั้งสองตัวอย่างด้วย Views 2 และ Views 3