ส่วนขยาย(Extension) จะทำให้ เว็บบอร์ด phpbb มีประสิทธิภาพ การทำงานที่ดีขึ้น โดยสามารถ ปรับเพิ่มเพิ่มแก้ไข้ ในส่วนต่างๆของ เว็บบอร์ด phpbb ได้ตามอิสระ ซึ่งในขั้นตอนพัฒนา ไม่จำเป้นที่จะต้องเข้าไปยุ่งเกี่ยว Code เดิมที่มีอยู่(แต่อาจจะมีบางครั่งที่ต้องเข้าไปแก้ไข้ เพิ่มเติม) นั้นก็ช่วยเราไม่ต้องกังวลกับการผิดพลาดที่อาจจะเกิดขึ้นได้เพราะหาก Code ของ เว็บบอร์ด phpbb เกิดความผิดพลาดก้อาจจะกระทบต่อการทำงานส่วนอื่นๆ ด้วย โดยการสร้าง Extension นั้นก็มีวิธีการพัฒนาที่ไม่ซับซ่อนมาก เพียงแต่จะมีเพียงการทำงานที่จะต้องเป็นไปตามที่เราต้องการเท่านั้น ที่จะยากนิดหน่อย
แต่ทั้งนี้ในบางครั่ง เราก็อาจจะจำเป็นที่ต้องใช้ภาษา คอมพิวเตอร์ อื่นๆ นอกจาก php มาช่วยสำหรับการพัฒนา เพื่อเพิ่ม ประสิทธิภาพ การทำงาน ของส่วนขยาย ในทำงานได้รวดเร็วมากขึ้น หรือ มาส่วนเสริมการทำงานในบางส่วนที่ php ไม่สามรถที่จะสร้างขึ้นมาได้ ซึ่งตัวอย่างที่ยกขึ้นนี้เป็นการใช้งานภาษา javascript เข้าช่วยในการแทนค่าชุดข้อมูล ชุดหนึ่ง ซึ่งเปป็นการทำงานเบื่องหลัง ของ extension ที่ใช้งานสำหรับ การ อัพโหลด รูปภาพ
โค้ด: เลือกทั้งหมด
$.each($('#file-list-container').find('.attach-comment'), function (i) { //สร้าง ลูป จากการขึ้นข้อมูลของ คลาส attach-comment ที่อยู่ใน ID file-list-container
var index = i - 1;
if (index >= 0) { //กำหนดเงือนไขการทำงาน
$.each($(this).parent().find('input[type="hidden"]'), function (i) { // ใช้ loop เพื่อ แสดงหาค่า
var nameflie = $(this).attr('name'); //สร้งตัวแปร ที่เก็บค่า ซึ่งมาจากการดึงข้อมูล name จาก คลาส attach-comment ที่มี type hidden
var res = nameflie.replace('[0]', '[' + index + ']'); //นำค่าของ index มาใช้งานแทน ค่า [0]
$(this).attr('name', res); //ทำการเปลี่ยนค่า เพื่อนำไปใช้งาน
});
console.log($(this).parent().find('input[type="hidden"]'));
var rname = up.files[index].attachment_data.real_filename;
//console.log(rname);
mattachInline(index + Number(no), rname); //ส่งค่าไปฟังชั่น
console.log(index);
console.log(up.files[index]);
phpbb.plupload.data[index] = up.files[index].attachment_data;
phpbb.plupload.ids[index] = up.files[index].attachment_data.attach_id;
$.each($(this).find('input,textarea'), function () {
var name = $(this).prop('name');
$(this).prop('name', name.replace(/(\d)/, index));
document.getElementById('light').style.display = 'none';
document.getElementById('fade').style.display = 'none';
});
}
});