วันเสาร์ที่ 1 ตุลาคม พ.ศ. 2554

[smf] แยกกระทู้ปักหมุดจากกระทู้ปกติโดยมีแถวคั่น 1 แถว


กระทู้ปักหมุด คือกระทู้ที่ผู้ดูแลบอร์ดต้องการให้อยู่ด้านบนสุด แม้จะมีกระทู้ใหม่ๆเข้ามา แต่กระทู้ปักหมุดก็ยังโดดเด่นเล่นท่าอย่างท้าทายอยู่อันดับต้นๆเสมอ

ถ้าคิดภาพไม่ออก ลองดูรูปด้านล่างนี้


(ภาพตย.จากบอร์ดของ zone-it)

จะเห็นกระทู้ปักหมุดจะมีหมุดปักอยู่ชัดเจน และสามารถปักได้มากกว่า 1 กระทู้ (ตามตย.)

วันนี้ไม่ได้จะมานำเสนอวิธีปักหมุด แต่ก่อนจะเ้ข้าเรื่องที่นำเสนอก็เลยพูดถึงเรื่องที่เกี่ยวข้องก่อน

ปักหมุดทำได้ไม่ยากครับ เปิดกระทู้ที่ต้องการปักหมุดขึ้นมา แล้วลงไปด้านล่างสุดของกระทู้ จะมีข้อความว่า "ติดหมุดให้หัวข้อนี้อยู่ด้านบน"



เราก็แค่จับเมาสท์ให้มั่นแล้วเอาไปคลิกที่ข้อความนั้น ก็เป็นอันเสร็จพิธี

แต่ถ้าท่านหาเมนูนี้ไม่เจอ ก็ไม่ต้องโวยวายร้องไห้คร่ำครวญบ่นพ้อตัดพ้อต่อโชคชะตาของตัวเองนะครับ

สำรวจตัวเองก่อนว่า เป็นแอดมินมั้ย? และถ้าเป็นแอดมินท่านล็อกอินหรือยัง?
ต้องครบองค์ 2 นี้เท่านั้นนะครับ ถึงจะเห็น

บางท่านเถียงว่า ผมไม่ได้เป็นแอดมิน แต่ทำไมผมเห็นเมนูนี้ ? ผมไม่ได้ผิดปกติด้านพันธุกรรมใช่มั้ยครับ?

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

โอเคนะครับ เรื่องปักหมุด ทีนี้จะเข้าประเด็นของกระทู้นี้สักที !!!
(เขียนมาครึ่งหน้ายังไม่เข้าประเด็นอีก นิสัยชักจะละม้ายสส.เข้าไปทุกที)


โอเค ประเด็นคือ อยากจะเพิ่มแถวไปอีกแถวหนึ่งคั่นกลางระหว่าง กระทู้ติดหมุด กับ กระทู้ปกติ ทำได้ม่ะ??

ทำได้!!

และวิธีทำนั่น คือ

1. เปิดไฟล์ MessageIndex.template.php ซึ่งอยู่ในโฟลเดอร์ธีมของท่านเอง ถ้าไม่มีไปหาในโฟลเดอร์ธีม Default แล้วก็อปปี้มาไว้ในโฟลเดอร์ธีมของมึง เอ้ย ของคุณครับ

2. ค้นหาคำสั่งนี้
foreach ($context['topics'] as $topic)
    {

3. เจอคำสั่งด้านบนแล้ว เพิ่มคำสั่งนี้ต่อท้าย
if (isset($previousTopicClass) &&  strpos($previousTopicClass, 'sticky') !== false &&  !$topic['is_sticky'])
 echo '<tr><td colspan="7"></td></tr>';
$previousTopicClass = $topic['class'];

  เซฟ..เสร็จ!!