วิธีการปรับแก้ไขข้อมูลชื่อผู้โพสต์ ก่อนส่งไปทำการแจ้งเตือน ในกรณีที่มีการแก้ไขของการ Qoute ใน phpbb

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

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

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

วิธีการปรับแก้ไขข้อมูลชื่อผู้โพสต์ ก่อนส่งไปทำการแจ้งเตือน ในกรณีที่มีการแก้ไขของการ Qoute ใน phpbb

Post by Ittichai_chupol » 30/10/2019 2:36 pm

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

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

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

1.Event ที่จะใช้งานนั้น คือ core.modify_submit_notification_data
-- โดย Event นี้จะเป็น Event ที่ให้ผู้พัฒนา สามารถเป็นแก้ไข notification data ที่จะส่งไปทำการบันทึกลงในฐานข้อมูล แล้วจะแสดงไปยังส่วนของ เมนูเเจ้งเตือน

2.จากนั้นนำมากสร้างเป็นฟังชั่น ดังนี้

Code: Select all

  
  public function modify_submit_notification_data($event) {      
  
  }
  
-- ซึ่งในส่วนของฟังชั่น เราจะสามารถปรับแก้ไข หรือเรียกข้อมูลมาใช้งานได้

3.สร้างตัวแปร เพื่อที่จะรับค่า notification data ชุดเดิมที่มีอยู่ก่อนหน้า
$quote = $event['notification_data'];
4.ปรับแก้ไขข้อมูล โดยการสส่งค่าไปแทนค่าเดิมที่มีอยู่เดิม ซึ่งเดินที่ $event['notification_data'] จะมีรูปแบบเป็น Array ดังนั้นการแทนค่าจะถึงเรียกออกมาในรูปแบบ Array ก่อนการแทนค่านั้นๆ

Code: Select all

  $quote['post_username'] = "test" ;
5.จากส่งค่าที่ปรับแก้ไข คือไปยัง notification data เพื่อที่จะนำไปใช้งานต่อให้ ขั้นตอนต่อไป

Code: Select all

  $event['notification_data'] = $quote;


โคดที่ใช้งานจริงทั้งหมด

Code: Select all


 public function modify_submit_notification_data($event) {
 
 
           $quote = $event['notification_data'];
         
            if ($event['mode'] == 'edit') {  //กรณ๊ที่เป็นการแก้ไขโพสต์
               
                $quote['poster_id'] = ANONYMOUS;
                $quote['post_username'] =  "test"  ;

                $event['notification_data'] = $quote;
            }
            
        }
    }

 


Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 10 guests