ผมโพสต์ก่อนละกัน กลัวเหงา :P
หน้าข่าวของ Blognone เพิ่งทำรายการข่าวย้อนหลังไป เผื่อใครสนใจจะทำบ้างเลยมาเขียนวิธีทำไว้ วิธีทำต้องแยกเป็น 2 ส่วน
อันแรกผมใช้โค้ดเก่าของคุณ sugree โดยนั่งแก้ให้มันไม่เอา node ตัวเองใส่เข้ามาในรายการด้วย (เพราะ query ตาม tag) ซึ่งโค้ดเวอร์ชันล่าสุดนี่ก็อปแปะได้เลย สิ่งที่ต้องเพิ่มคือใส่ <?php ?> ครอบหัวท้ายมาด้วย และเปลี่ยน $myvocab ให้เป็นเบอร์ vocabulary ของเว็บเรา เอ้อ ต้องเลือก input type เป็น php ด้วยนะครับ
อย่างที่สองทำตาม คู่มือของ Drupal ได้เลย เพราะ block ที่ชื่อ inline1 ตรงกับความต้องการของเราพอดี ที่ต้องแก้ก็คือ phptemplate.php กับ node.tpl.php ตามนั้นเป๊ะๆ ที่เหลือก็ใส่ stylesheet ให้ด้วยก็จบแล้ว
ถ้าไม่ชัวร์ลองทำส่วนแรกก่อนว่าสำเร็จมั้ย แล้วใส่ block ตำแหน่งอื่นๆ เช่น right sidebar ไปก่อนค่อยมาทำส่วนที่สอง
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
ใครอยากฝึกฝีมือก็เอาโค้ดไปเขียนเป็นโมดูลได้นะ เคยเห็นมีอยู่โมดูลนึงจุดประสงค์เดียวกัน แต่ใช้วิธี full-text search หาทุกโหนด เห็นแล้วสยองจนต้องยืมไอเดียจาก book มาดัดแปลง
โค้ดเดิมมีปัญหาเวลาข่าวมี tag ที่ต่างกันมากๆ เช่น ข่าวนี้ ที่มีทั้ง linux และ windows เวลา query ขึ้นมาถ้าเกิดว่าช่วงนั้นข่าว windows เยอะพอดี ข่าว linux ก็จะตกไปได้
กรณีแบบนี้มันจะไม่ค่อยมีปัญหาถ้า tag ใกล้ๆ กันเช่น apple/ipod เป็นต้น
กำลังคิดว่าถ้าให้วนสองรอบ รอบแรกเป็น AND ก่อนแล้วค่อย OR จะได้ผลดีขึ้นมั้ยนะ (ข่าวที่เข้าเงื่อนไข AND ตรงกันทั้งหมดน่าจะมีน้อยมากๆ)
ดูดไปอีกหนึ่งเรื่อง