วิธีการ Overrite การแจ้งเตือนเพื่อนำมาปรับแต่งใน Extension ของ phpbb

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

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

User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 5410
Joined: 19/09/2018 10:33 am

วิธีการ Overrite การแจ้งเตือนเพื่อนำมาปรับแต่งใน Extension ของ phpbb

Post by Ittichai_chupol »

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

-- สร้างไฟล์ service.yml ในโฟลเดอร์ config เพื่อที่จะเป็นเสมือนส่วนที่จะช่วยปรับเปลี่ยนการเรียกใช้งาน โดยแทนที่เมื่อมีการแจ้งเตือน จะส่วนไปยังไฟล์ระบบของ phpbb ก็ให้มาใช้งานไฟล์ที่กำหนดไว้ใน Extension ที่สร้างขึ้นมาแทน

*-- ตัวอย่างที่สร้างขึ้น

Code: Select all

  
  

    notification.type.post:  //ชนิดของการแจ้งเตือน
        class: mindphp\m_anonymous\notification\post //ตำแหน่งที่เก็บไฟล์
        shared: false
        parent: notification.type.base
        calls:
            - [set_user_loader, ['@user_loader']]
            - [set_config, ['@config']]
        tags:
            - { name: notification.type }


    notification.type.bookmark:
        class: mindphp\m_anonymous\notification\bookmark
        shared: false
        parent: notification.type.base
        calls:
            - [set_user_loader, ['@user_loader']]
            - [set_config, ['@config']]
        tags:
            - { name: notification.type }
            
    notification.type.topic:
        class: mindphp\m_anonymous\notification\topic
        shared: false
        parent: notification.type.base
        calls:
            - [set_user_loader, ['@user_loader']]
            - [set_config, ['@config']]
        tags:
            - { name: notification.type }

    notification.type.quote:
        class: mindphp\m_anonymous\notification\quote
        shared: false
        parent: notification.type.post
        calls:
            - [set_utils, ['@text_formatter.utils']]
        tags:
            - { name: notification.type }

โดยทั้งนี้สามารถดูวิธีการเรียกใช้งาน การแจ้งเตือนอื่นๆ เพื่อที่จะนำมา Overrite ได้จาก config/default/container/services_notification.yml

บทความที่เกี่ยวข้อง
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1
ขอให้วันนี้เป็นวันที่ดี
  • Similar Topics
    Replies
    Views
    Last post

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 14 guests