การสร้าง Modules ใน PHPNUKE ด้วยตัวเอง |
|
|
|
|
|
|
|
|
issue date 2007-12-07 by charin chookham |
|
|
|
|
|
ในสมัยที่ใช้ php nuke ใหม่ ๆ เคยคิดที่อยากทำโมดุลขึ้นไว้ใช้งานเองแต่ไม่รู้ต้องทำยังไง ตอนหลังก็มีคนสงสัยเหมือนกันกับเรา แล้วก็มีสอบถามเข้ามาบ้างพอสมควร เลยต้องมาแจงวิธีการทำกันดังนี้ |
|
|
1. ไปสร้างโฟลเดอร์ชื่อของโมดุลที่จะสร้างเช่น MyModules ไว้ในโฟลเดอร์ modules |
|
|
2. ใช้ text editor เพื่อสร้างโค๊ตเช่น editplus ,notepad แล้วนำโค๊ดนี้ไปแปะได้เลย |
|
|
|
<?php if (!defined('MODULE_FILE')) { die ("You can't access this file directly..."); } $index = 1; require_once("mainfile.php"); $module_name = basename(dirname(__FILE__)); get_lang($module_name); include("header.php"); // พื้นที่ตรงนี้สำหรับเขียนเนื้อหาของโมดุลของเรา include("footer.php"); ?> |
|
3. อย่างเช่นตัวของโมดุลที่ผมเขียนขึ้นมาก็เป็นดังนี้ แล้วก็ save เป็น index.php แล้วนำขึ้นไปไว้ในโฟลเดอร์ที่เราได้สร้างไว้ |
|
|
|
<?php if (!defined('MODULE_FILE')) { die ("You can't access this file directly..."); } $index = 1; require_once("mainfile.php"); $module_name = basename(dirname(__FILE__)); get_lang($module_name); include("header.php"); echo "This is MyModules"; // พื้นที่ตรงนี้สำหรับเขียนเนื้อหาของโมดุลของเรา include("footer.php"); ?> |
|
4. การเรียกใช้งานก็เป็นดังนี้ http://ชื่อเว็บของเรา/modules.php?name=ชื่อโฟลเดอร์ที่สร้างไว้ เช่น http://www.myweb.com/modules.php?name=MyModules |
|
|
เป็นไงล่ะครับพอทำได้ไหม ง่าย ๆ แค่นี้เองครับ เพิ่มเติมการสร้างเมนู(blocks)ด้วยแล้วกันโค๊ตก็เป็นดังนี้นะครับ แล้วแก้ไขปรับปรุงต่อเองนะครับ |
|
|
<?php if ( !defined('BLOCK_FILE') ) { Header("Location: ../index.php"); die(); } $content .= "<a href=\"#\">หน้าแรก</a><br />"; $content .= "<a href=\"#"\>วิสัยทัศน์</a><br />"; $content .= "<a href=\"#\">ข่าวประชาสัมพันธ์</a><br />"; ?> |
|
|
|
|
|
หมายเหตุ : หากท่านสร้าง modules เสร็จแล้วเมื่อเรียกใช้งาน เจอข้อความลักษณะนี้คือ "เสียใจโมดุลนี้ไม่ทำงาน" ลองไปดูในตาราง nuke-modules มีชื่อ modules ที่ท่านได้สร้างขึ้นหรือไม่ หากไม่มีก็ไปทำการเพิ่มเข้าไป และเปลี่ยน fileds active ให้เป็น 1 เท่านี้ก็น่าจะใช้ได้ ปกติหากเราได้ reload ระบบจะสร้างให้ หากมันไม่สร้างให้เราก็ต้องมาสร้างเองล่ะครับ อีกอย่างหากเราไม่ได้เปิดเป็นไฟล์ index.php เวลาเรียกใช้งานก็ต้องบอกชื่อไฟล์ด้วย ก็เรียกดังนี้ http://myweb/modules?name=ชื่อmodules?file=ชื่อไฟล์ที่จะเปิด |
|