ทำ Related Story แบบ Blognone

  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.
  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.

ผมโพสต์ก่อนละกัน กลัวเหงา :P

หน้าข่าวของ Blognone เพิ่งทำรายการข่าวย้อนหลังไป เผื่อใครสนใจจะทำบ้างเลยมาเขียนวิธีทำไว้ วิธีทำต้องแยกเป็น 2 ส่วน

  • เขียนโค้ด PHP snippet ไปใส่ใน block ให้ดึงข้อมูลข่าวเก่ามาให้
  • สร้าง block region ใหม่ที่อยู่ใต้ content แต่เหนือ comment ซึ่งของเก่าไม่มี

อันแรกผมใช้โค้ดเก่าของคุณ sugree โดยนั่งแก้ให้มันไม่เอา node ตัวเองใส่เข้ามาในรายการด้วย (เพราะ query ตาม tag) ซึ่งโค้ดเวอร์ชันล่าสุดนี่ก็อปแปะได้เลย สิ่งที่ต้องเพิ่มคือใส่ <?php ?> ครอบหัวท้ายมาด้วย และเปลี่ยน $myvocab ให้เป็นเบอร์ vocabulary ของเว็บเรา เอ้อ ต้องเลือก input type เป็น php ด้วยนะครับ

อย่างที่สองทำตาม คู่มือของ Drupal ได้เลย เพราะ block ที่ชื่อ inline1 ตรงกับความต้องการของเราพอดี ที่ต้องแก้ก็คือ phptemplate.php กับ node.tpl.php ตามนั้นเป๊ะๆ ที่เหลือก็ใส่ stylesheet ให้ด้วยก็จบแล้ว

ถ้าไม่ชัวร์ลองทำส่วนแรกก่อนว่าสำเร็จมั้ย แล้วใส่ block ตำแหน่งอื่นๆ เช่น right sidebar ไปก่อนค่อยมาทำส่วนที่สอง

sugree's picture

ใครอยากฝึกฝีมือก็เอาโค้ดไปเขียนเป็นโมดูลได้นะ เคยเห็นมีอยู่โมดูลนึงจุดประสงค์เดียวกัน แต่ใช้วิธี full-text search หาทุกโหนด เห็นแล้วสยองจนต้องยืมไอเดียจาก book มาดัดแปลง

mk's picture

โค้ดเดิมมีปัญหาเวลาข่าวมี tag ที่ต่างกันมากๆ เช่น ข่าวนี้ ที่มีทั้ง linux และ windows เวลา query ขึ้นมาถ้าเกิดว่าช่วงนั้นข่าว windows เยอะพอดี ข่าว linux ก็จะตกไปได้

กรณีแบบนี้มันจะไม่ค่อยมีปัญหาถ้า tag ใกล้ๆ กันเช่น apple/ipod เป็นต้น

กำลังคิดว่าถ้าให้วนสองรอบ รอบแรกเป็น AND ก่อนแล้วค่อย OR จะได้ผลดีขึ้นมั้ยนะ (ข่าวที่เข้าเงื่อนไข AND ตรงกันทั้งหมดน่าจะมีน้อยมากๆ)

roofimon's picture

ดูดไปอีกหนึ่งเรื่อง

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น