ส่วนขยาย(Extension) จะทำให้ เว็บบอร์ด phpbb มีประสิทธิภาพ การทำงานที่ดีขึ้น ตามความต้องการของผุ้ใช้งานได้ และทั้งนี้เหมื่อพัฒนาขึ้นมาแ้วยังจะสามารถนำไปใช้งานร่วมกับเว็บบอร์ด phpbb ได้เก็บทุกเว็บบอร์ดหนึ่ง เสมือนสร้างเพียงครั่งเดียวก็สามารถนำไปใช้งานได้เื่อย แต่ถึงอย่างนั้นการที่ติดตั้ง Extension ได้บางครั้งนั้นอาจจะต้องมีการเสียเวลากับการที่ต้องมากรอกข้อมูลพื้นฐานเพื่อนำมาใช้งานร่วมกับ Extension ทุกครั้งที่มีการติดตั้ง ใหม่ แต่ทั้งนี้ก็มีวิธีการที่จะสามารถ เพิ่มข้อมูลนั้นๆ ได้ตั้งแต่ตอนติดตั้ง Extension โดยมีวิธีการทั้งนี้
1.เข้าไปในไฟล์ติดตั้ง ของ Extension จากนั้นนำโคดตัวอย่างนี้ไปปรับใช้
โค้ด: เลือกทั้งหมด
public function update_data() {
return array(
array('custom', array(array($this, 'md_package'))), // จะเป็น โมดูลที่จะสร้างขึ้นมาเอง md_package คือชื่อโมดูลที่ต้องการ
array('module.add', array(
'acp',
'ACP_CAT_DOT_MODS',
'ACP_M_MEMBER_PACKAGE_TITLE'
)),
array('module.add', array(
'acp',
'ACP_M_MEMBER_PACKAGE_TITLE',
array(
'module_basename' => '\test\m_member_packages\acp\m_member_package_module',
'modes' => array('topic_m_member_package'),
),
)),
);
}
โค้ด: เลือกทั้งหมด
public function md_package() {
global $request, $user;
$acp_manager_bbcode = new \test\m_member_packages\core\acp_m_member_packages($this->db, $request, $user, $this->phpbb_root_path, $this->php_ext); //ตำแหน่งที่จักเก็บไฟล์ที่เป็นส่วนการทำงานสำหรับการ เพิ่มข้อมูล
$acp_manager_bbcode->install_package(); //เรียกใช้งาน ฟังชั่น ที่สร้างมาเพิ่มข้อมูล
}
4.โดยในไฟล์ acp_m_member_packages ก็ทำการใส่โคดดังนี้ครับ
โค้ด: เลือกทั้งหมด
<?php
namespace mindphp\m_member_packages\core;
class acp_m_member_packages {
protected $db;/** @var \phpbb\request\request */
protected $request;/** @var \phpbb\user */
protected $user;/** @var string */
protected $phpbb_root_path;/** @var string */
protected $php_ext;
public function __construct(\phpbb\db\driver\driver_interface $db, \phpbb\request\request $request, \phpbb\user $user, $phpbb_root_path, $php_ext) {
$this->db = $db;
$this->request = $request;
$this->user = $user;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
}
public function install_package() { //ฟังชั่นที่มีการเรียกใช้งานมาจากไฟล์ติดตั้ง
$sql = "INSERT INTO `phpbb_m_package_data` (`package_id`, `package_name`, `group_id`, `package_price`, `package_date`, `package_date_noti`, `package_starus`) VALUES
(1, 'ฟรี', 2, '500.00', '30', '10', 0),
(2, '1 ปี', 2, '500.00', '365', '30', 1),
(3, '3 ปี', 4, '1200.00', '1095', '40', 1),
(4, '4 ปี', 4, '1500.00', '1460', '45', 1),
(5, '5 ปี', 6, '2000.00', '1852', '60', 1);";
$this->db->sql_query($sql);
}
}
บทความที่เกี่ยวข้อง
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1
วิธีการจัดทำการระบบแจ้้งเตือนใน phpbb