วิธีการปรับแก้ไขลิ้งค์จากหัวข้อ ให้ไปยังตำแหน่งโพสต์ ที่ยังไม่มีการอ่าน ใน phpbb

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 5410
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

วิธีการปรับแก้ไขลิ้งค์จากหัวข้อ ให้ไปยังตำแหน่งโพสต์ ที่ยังไม่มีการอ่าน ใน phpbb

โพสต์ที่ยังไม่ได้อ่าน โดย Ittichai_chupol »

- เว็บบอร์ด phpbb นั้นเป็บเว็บบอร์ดที่มี code และ ฟั่งชั่น ตางๆ ที่สนับสนุนการใช้งาน ในส่วนต่างๆของเว็บ มาให้เป้นพื้นฐาน ตั้งแต่แรกติดตั้งอยู่ นั้นจึงทำให้ผุ้พัฒนา ไม่ต้องเสียเวลากับการที่จะต้องสร้าง ส่วนต่างขึ้นมาเองทั้งหมด เพียงแค่ปรับปรุง หรือ เสริมเพียงเเค่บางส่วนเข้าไปเท่านั้น ก็ทำให้เว็บบอร์ด สามารถทำงาน ตามที่เราต้องการ โดยวิธีการที่เราจะทำให้เว็บบอร์ด phpbb สามารถทำในส่วนที่ไม่ได้มีมากับตอนติดตั้งครั่งแรกนั้น คือการส่ร้าง ส่วนขยาย(Extension)

ส่วนขยาย(Extension) จะทำให้ เว็บบอร์ด phpbb มีประสิทธิภาพ การทำงานที่ดีขึ้น โดยสามารถ ปรับเพิ่มเพิ่มแก้ไข้ ในส่วนต่างๆของ เว็บบอร์ด phpbb ได้ตามอิสระ ซึ่งในขั้นตอนพัฒนา ไม่จำเป้นที่จะต้องเข้าไปยุ่งเกี่ยว Code เดิมที่มีอยู่(แต่อาจจะมีบางครั่งที่ต้องเข้าไปแก้ไข้ เพิ่มเติม) นั้นก็ช่วยเราไม่ต้องกังวลกับการผิดพลาดที่อาจจะเกิดขึ้นได้เพราะหาก Code ของ เว็บบอร์ด phpbb เกิดความผิดพลาดก้อาจจะกระทบต่อการทำงานส่วนอื่นๆ ด้วย โดยการสร้าง Extension นั้นก็มีวิธีการพัฒนาที่ไม่ซับซ่อนมาก เพียงแต่จะมีเพียงการทำงานที่จะต้องเป็นไปตามที่เราต้องการเท่านั้น

โดยในส่วนการที่จะพัฒนา Extension ของ phpbb ให้ง่ายและลดการแก้ไขเนื้อหาหลักที่ไม่ต้องมากเกินไปนั้น แถมยังได้ข้อมูลที่ต้องการมาทั้งหมดโดยมีขั้นตอนง่ายๆ ก็คือการพัฒนา Extension ร่วมกับ Event ของ phpbb ที่มีมาให้อยู่แล้ว ดังตัวอย่างต่อจากนี้ คือ การใช้งาน Event ของ phpbb มาใช้ำสำหรับการปรับแก้ไขลิ้งค์จากหัวข้อกระทู้ ไปยัง ตำแหน่งโพสต์ที่ยังไม่มีการอ่านของผู้ใช้งาน

โดยมีขั้นตอนดังนี้

1. Event ที่ใช้งานนั้น จะมีชื่อว่า core.viewforum_modify_topicrow


2.เรียกใช้งาน Event

โค้ด: เลือกทั้งหมด

  
    static public function getSubscribedEvents() {
        return array(
            'core.viewforum_modify_topicrow' => 'viewforum_modify_topicrow',
        );
    }

3.นำ Event มาสร้างเป็นฟังชั่น เพื่อเรียกใช้งาน

โค้ด: เลือกทั้งหมด

    public function viewforum_modify_topicrow($event) {
        $topicrow = $event['topic_row'];
        if ($topicrow['S_UNREAD_TOPIC'] == 1) {  //ตรวจสอบว่ามีโฑสต์ที่ไม่ได้อ่านหรือไม
            $topicrow['U_VIEW_TOPIC'] = $topicrow['U_NEWEST_POST'];
        }
        $event['topic_row'] = $topicrow;
    }
    

ผลลัพธ์จากการใช้งาน

ก่อนการใช้งาน ถ้าหากกดที่หัวข้อจะส่งไปยังหน้าของหัวข้อนั้น
test1.png
test1.png (79.1 KiB) Viewed 381 times
หลังการใช้งาน ถ้าหากกดที่หัวข้อจะส่งไปยังโฟกัสโพสต์ที่ยังไม่ได้อ่าน
test.png
บทความที่เกี่ยวข้อง
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1
ขอให้วันนี้เป็นวันที่ดี
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 44