display_forums_modify_template_vars
โดยการจะใช้งาน Event display_forums_modify_template_vars นั้นมีขั้นตอนดังนี้
1.เรียกใช้งาน Event
โค้ด: เลือกทั้งหมด
static public function getSubscribedEvents() {
return array(
'core.display_forums_modify_template_vars' => 'display_forums_modify_template_vars',
}
โค้ด: เลือกทั้งหมด
public function display_forums_modify_template_vars($event) {
if ($this->config['m_anonymous_post_enabled']) {
global $auth;
$data_name = $event['forum_row'];
print_r($data_name);
}
ค่าทั้งหมดที่อยู่ใน $event['forum_row'] ที่สามารถจะนำปรับแก้ไข
โค้ด: เลือกทั้งหมด
Array
(
[S_IS_CAT] =>
[S_NO_CAT] =>
[S_IS_LINK] =>
[S_UNREAD_FORUM] => 1
[S_AUTH_READ] => 1
[S_LOCKED_FORUM] =>
[S_LIST_SUBFORUMS] => 1
[S_SUBFORUMS] =>
[S_DISPLAY_SUBJECT] => 1
[S_FEED_ENABLED] => 1
[FORUM_ID] => 2
[FORUM_NAME] => Your first forum
[FORUM_DESC] => Description of your first forum.
[TOPICS] => 18
[POSTS] => 106
[FORUM_IMG_STYLE] => forum_unread
[FORUM_FOLDER_IMG] => <span class="imageset forum_unread" title="มีหลายโพสต์ที่ยังไม่ได้อ่าน">มีหลายโพสต์ที่ยังไม่ได้อ่าน</span>
[FORUM_FOLDER_IMG_ALT] => มีหลายโพสต์ที่ยังไม่ได้อ่าน
[FORUM_IMAGE] =>
[FORUM_IMAGE_SRC] =>
[LAST_POST_SUBJECT] => Re: ss
[LAST_POST_SUBJECT_TRUNCATED] => Re: ss
[LAST_POST_TIME] => พุธ ธ.ค. 18, 2019 5:56 pm
[LAST_POSTER] => chompu
[LAST_POSTER_COLOUR] =>
[LAST_POSTER_FULL] => <a href="./memberlist.php?mode=viewprofile&u=50" class="username">chompu</a>
[MODERATORS] =>
[SUBFORUMS] =>
[L_SUBFORUM_STR] =>
[L_MODERATOR_STR] =>
[U_UNAPPROVED_TOPICS] =>
[U_UNAPPROVED_POSTS] =>
[U_VIEWFORUM] => ./viewforum.php?f=2
[U_LAST_POSTER] => ./memberlist.php?mode=viewprofile&u=50
[U_LAST_POST] => ./viewtopic.php?f=2&p=974#p974
)
3.โดยตัวอย่างที่จะทำนี้ก็คือ การจะปรับค่า ของชื่อผู้ที่มาโพสต์ล่าสุด
โค้ด: เลือกทั้งหมด
public function display_forums_modify_template_vars($event) {
global $auth;
$data_name = $event['forum_row']; //สร้างตัวแปร เพื่อจะเก็บค่าจาก $event['forum_row'] เพื่อจะได้ปรับแก้ไข
$data_name['LAST_POSTER_FULL'] = "hello"; // ปรับค่าผู้ที่มาโพสต์ล่าสุด ให้เป็นชื่อว่า hello
$event['forum_row'] = $data_name; //ส่งค่ากลับไปเพื่อแสดง
}
}
ผลก่อนการใช้งาน
ผลหลังการใช้งาน
บทความที่เกี่ยวข้อง
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1