Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20231001 Rev.8 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 7532|ตอบกลับ: 8

[X2] แนวทางสร้างปลั๊กอิน บทที่ 1 รู้จักปลั๊กอิน และ กฎการตั้งชื่อ

  [คัดลอกลิงก์]
weratad14 โพสต์ 2011-11-14 20:21:00 |โหมดอ่าน
แก้ไขครั้งสุดท้ายโดย weratad14 เมื่อ 2011-11-15 13:42


ความรู้สึก (ข้ามไม่อ่านก็ได้นะครับ)   
     ให้เป็นแนวทางของคนที่ต้องการเขียนปลั๊กอิน ได้พอมีแนวทางบ้าง เพราะสิ่งแรกๆผมประสบณ์ปัญหาคือ ปลั๊กอินเขาเขียนกันยังไง
ถามไครก็ไม่มีไครสอน ลองนั้งดูโ้ค้ด ดูเท่าไรก็ไม่รู้เรื่อง ลองผิดลองถูก ในทุกๆครั้งผมจะคอยแอบชื่นชมคนที่เขียนปลั๊กอินมาโดยตลอด
โดยหวังว่าสักวัน จะสร้างปลั๊กอินในแบบฉบับของตัวเองได้บ้าง เก็บเกืี่ยว มาเกือบ 2 ปี....หวังว่าจะไม่สูญเปล่า... ให้พอเป็นแนวทางสำหรับมือใหม่หลายๆคน เป็นกำลังใจให้ครับ


ปลั๊กอิน  คือ ลูกเล่น หรือ ส่วนเสริมที่เพิ่มเข้าไปในโปรแกรมหลัก ซึ่งจะเพิ่มลูกเล่นให้โปรแกรมหลักนั้นๆ ... หรือที่เรียกง่ายๆ คือ ตัวเสริมความสามารถให้กับ Discuz นั้นเอง

ด้านความรู้พื้นฐาน ที่จำเป็น
- การเขียนโปรแกรมภาษา PHP  เป็นหัวใจหลักของการเขียนปลั๊กอินเลยทีเดียว และพอเขียน แบบ OOP เป็นด้วยนะ
- ความรู้ด้าน XML และ HTML
- การจัดรูปแบบด้วย CSS
- ความรู้ด้าน Discuz ด้วยครับ
สรุป การเขียนปลั๊กอิน จะใช้ภาษา PHP ในการโปรแกรม โดยเชื่อมการตั้งค่าผ่าน XML และจัดรูปแบบเพื่อแสดงผล ด้วย CSS


เริ่มด้วยการ เกะกล่อง ปลั๊กอินกันก่อนเลยครับ ในไฟล์ปลั๊กอินจะมีหลักๆดังนี้ (เฉพาะหลักๆนะครับ)จากตัวอย่าง ปลั๊กอินมีชื่อว่า tast_plugin

โฟเดอร์ปลั๊กอิน เก็บไฟล์สำหรับทำงานปลั๊กอิน
ซึ่งภายในไำฟล์จะมีดังนี้


ไฟล์ .xml เป็นไฟล์สำหรับติดต่อกับ Discuz เพื่อติดตั้งปลั๊กอิน ตั้งค่าต่างๆ ถอนปลั๊กอิน จะผ่านไฟล์นี้ครับ โดย discuz จะเข้าำไปอ่านข้อมูลในไฟล์ xml นี้ ซึ่งจะมีข้อมูลเกี่ยวกับปลั๊กอิน เช่น ชื่อปลั๊กอิน,  ชื่อผู้สร้าง, รุ่น, ข้อมูลแปรตัว, ตลอดจนข้อมูล เกียวกับการจัดรูปแบบ css เป็นต้น เราจะเห็นหน้าต่างของไฟล์นี้ ผ่านการตั้งค่าปลั๊กอินนั้นๆ ใน AdminCp

ไฟล์ .php เป็นไฟล์ที่ใช้ภาษา PHP เขียนขึ้น โดยการทำงาน Discuz จะเข้ามาอ่านไฟล์นี้ เป็นหลัก หลังจากติดตั้งปลั๊กอินแล้ว เราสามารถดึงการตั้งค่าจาก ไฟล์ xml มาใช้ ครับ

สรุป หลักๆ ทุกปลํ๊กอินจะต้องมีไฟล์ ทั้ง 3 ตัวด้านบนนี้ ก็ทำงานได้แล้วครับ

กฎการตั้งชื่อ ของ Discuz!
สิ่งนี้จะมีความสำคัญมากๆ ครับ และเป็นสิ่งที่ Discuz จะสื่อสารกับโปรแกรมปลั๊กอินที่เราสร้างขึ้น นั้นเอง มาดูกันครับ


การตั้งชื่อปลั๊กอิน โดยตั้งชื่อโฟเดอร์  ตามที่เราต้องการได้เลยครับ เช่น tast_plugin หรือ tast แล้วแต่เราจะตั้งครับ ข้อเนะนำนะครับ ควรจะตั้งชื่อให้เหมาะสมกับปลั๊กอินที่สร้าง และเราต้องจำชื่อปลั๊กอินให้ได้ด้วย เพราะจะใช้ชื่อปลั๊กอินในการทำงานต่างๆ


   การตั้งชื่อไฟล์ สำหรับไฟล์ .xml จะมีหลักดังนี้  discuz_plugin_XXX.xml   
XXX  คือ  ชื่อโฟรเดอร์ปลั๊กอินครับ จากตัวอย่าง ผมตั้งชื่อโฟเดอร์ปลั๊กอินว่า tast_plugin
ดังนั้นไฟล์ xml จึงมีชื่อว่า discuz_plugin_tast_plugin.xml

  การตั้งชื่อไฟล์ สำหรับไฟล์ .php จะมีหลักดังนี้   XXX.class.php
XXX คือ  ชื่อโฟรเดอร์ปลั๊กอินครับ จากตัวอย่าง ผมตั้งชื่อโฟเดอร์ปลั๊กอินว่า tast_plugin
ดังนั้นไฟล์ php จึงมีชื่อว่า tast_plugin.class.php

สรุป การตั้งชือนั้นมีความสำคัญ เพราะ discuz จะสามารถมองเห็นและเข้าถึงการทำงานของปลั๊กอินเราได้ครับ

นี่ก็คือพื้นฐานบทที่ 1 ของแนวทางการสร้างปลั๊กอินครับ ^^ ขอบคุณครับ

แนวทางสร้างปลั๊กอิน บทที่ 2 รู้จัก XML และ การสร้างไฟล์ xml สำหรับปลั๊กอิน

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x

คะแนน

จำนวนผู้เข้าร่วม 8จิตพิศัย +8 ย่อ เหตุผล
9sutyot + 1 เนื้อหาดีมีสาระ.
บิว + 1
jamskung + 1 เนื้อหาดีมีสาระ.
mintzajung05 + 1 เนื้อหาดีมีสาระ.
Golfy + 1 เนื้อหาดีมีสาระ.

ดูบันทึกคะแนน

idonno โพสต์ 2011-11-14 20:47:02
ขอบคุณครับ
copenhagen โพสต์ 2011-11-14 22:14:26
สุดยอดครับ รอบทต่อไปอยู่นะครับ
tonlnw0123 โพสต์ 2011-11-15 22:13:40 จากอุปกรณ์พกพา
ผมเขียนoop ยม่ค่อยคล่อง งะขอบคุณครับ
mintzajung05 โพสต์ 2011-11-20 15:00:00
ขอบคุณครับ
benzeplayoff โพสต์ 2012-1-15 05:07:31
ขอบคุณค่ะสำหรับบทความดีๆ
sutud12 โพสต์ 2012-7-26 11:39:57
ขอบคุณครับ
slost โพสต์ 2013-5-3 21:14:13
เยี่ยมฮัฟ
bigjames03 โพสต์ 2013-9-11 19:55:41
ขอบคุณครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-4-29 21:55

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้