Discuz Thai

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

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

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

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

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

[X1.5] การแยกแยะ : การสร้างปลั๊กอิน (ย้ายให้ทีครับ ผมตั้งผิด ไม่ได้ดู I'am Sorry)

[คัดลอกลิงก์]
rokaisakkon โพสต์ 2011-3-23 04:31:04 |โหมดอ่าน
แก้ไขครั้งสุดท้ายโดย rokaisakkon เมื่อ 2011-3-23 04:32

สมมุติ ว่า สร้าง ปลั๊กอิน ขึ้นมา 1 ตัว

แล้ว กำหนด ให้มันไปอยู่ ด้านข้างซ้าย ใต้รูป

เราจะกำหนดได้ อย่าง ไรว่า ต้องโชว์ ของใคร ของมัน

ยกตัวอย่าง เขียน php ให้ ตรวจสอบ เพศ ว่าได้ เลือกหรือยัง

แล้ว ให้ มันโชวืของใคร ของมัน ว่าใคร เลือก และ ยังไม่ได้ เลือก ^^
jaideejung007 โพสต์ 2011-3-24 09:25:40
ตอบกระทู้ rokaisakkon ตั้งกระทู้

ตามที่ผมลองเขียนๆ ปลั๊กอินดิสคัสเล่นๆ

แต่ละที่ที่เราจะให้มัน Output ไปนั้นได้ มันต้องมี Hook เป็นแบบไ้ว้ก่อนหน้าอยู่แล้ว

ซึ่ง Hook นี้ก็ได้แก่
  1. <!--{hook/index_top}-->
คัดลอกไปที่คลิปบอร์ด
  1. <!--{hook/viewthread_magic_user $postcount}-->
คัดลอกไปที่คลิปบอร์ด
  1. <!--{hook/viewthread_profileside $postcount}-->
คัดลอกไปที่คลิปบอร์ด
และอื่นๆ กระจัดกระจายกันไปในแต่ละไฟล์เทมเพลต .htm น่ะ

โดยเรากำหนดตัวแปรได้จากไฟล์ *.class.php ในปลั๊กอินน่ะ(ต้องเพิ่มโมดูลในปลั๊กอินที่จะสร้างก่อนนะไม่งั้นไม่ทำงาน) โดยกำหนดโค๊ดได้ประมาณนี้
  1. <?php
  2. if(!defined('IN_DISCUZ')) {
  3.        exit('Access Denied');
  4. }
  5. class plugin_{Your_Identifier}_forum {
  6.         function index_top() {
  7.                 global $_G;
  8.                 if ($_G['not_{Your_Identifier}']) return;
  9.                 loadcache('plugin');
  10.                 $config=$_G['cache']['plugin']['{Your_Identifier}'];
  11.                 $jchat_flood_triple = round($config[jchat_flood]*1000);

  12.                         include template('{Your_Identifier}:jchat');
  13.                         return $return;
  14.         }
  15. }
  16. ?>
คัดลอกไปที่คลิปบอร์ด
ซึ่่งคำว่า {Your_Identifier} ก็คือชืื่อ Identifier หรือชื่อของปลั๊กอินที่เราจะตั้งนะครับ

โดยโค๊ดนี้
  1. function index_top()
คัดลอกไปที่คลิปบอร์ด
จะเป็นการบอกให้ดิสคัสทราบว่า "นี่แก ฉันจะให้แกแสดงโค๊ดหรือให้โค๊ดมัน Output ไปยัง Hook ที่ชื่อ index_top() นะจ๊ะ"

ซึ่งโค๊ดตัวนี้มันก็จะอยู่ในไฟล์ template\default\forum\discuz.htm

ในบรรทัดที่ 29 โดยประมาณ

ดังนั้นคำสั่งนี้
  1. global $_G;
  2.                 if ($_G['not_{Your_Identifier}']) return;
  3.                 loadcache('plugin');
  4.                 $config=$_G['cache']['plugin']['{Your_Identifier}'];
  5.                 $jchat_flood_triple = round($config[jchat_flood]*1000);
คัดลอกไปที่คลิปบอร์ด
หรือโค๊ดตั้งแต่ เครื่องหมายปีกกา { ... } ที่อยู่ระหว่าง
  1. function index_top()
คัดลอกไปที่คลิปบอร์ด
ก็จะหมายถึง ให้โค๊ดนั้นให้มัน Output ไปยัง index_top() หรือหากให้อธิบายให้เห็นภาพ ก็คือตำแหน่งที่แสดง Xshow หรือไม่ก็ตำแหน่งที่แสดงปลั๊กอิน sdc_chat 0.7 นั้นเองล่ะครับ

ตามความเข้าใจผมจะเป็นแบบนี้ ซึ่งมันก็ทำงานได้ถูกต้องครับ

ที่จริงมันมีหลากหลายมากมายโค๊ดครับ เราจำเป็นต้องศึกษาจากปลั๊กอินตัวอื่นด้วย ไม่งั้นผมเองก็ไม่เป็นเหมือนกันล่ะ

Jaideejung007

คะแนน

จำนวนผู้เข้าร่วม 2จิตพิศัย +2 ย่อ เหตุผล
inut + 1 ขุดตั้งนานกว่าจะเจอขอบคุณครับ
konggang + 1 โดนใจให้ทิป

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

ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

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

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

GMT+7, 2024-11-23 02:09

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

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