ม็อด ใช้ทำอะไร1. ใช้เพิ่มความสามารถบางประการที่บอร์ดไม่ได้ทำมาให้ หรือทำมาให้แต่ไม่เพียงพอ
เช่น แอนติบ็อท-สแปม การแสดงคลิปวีดีโอ การปรับแต่งโฆษณา เป็นต้น
2. ใช้เปลี่ยนแปลงและเพิ่มสมรรถนะบางประการให้กับฟีเจอร์ที่มีอยู่แล้ว
เช่น เพิ่มเติมการตอบด่วน การสมัครสมาชิก เป็นต้น
Modification ม็อดนี้หาได้จากไหน
http://custom.simplemachines.org/mods/เลือกดูตามลักษณะการใช้งานได้เลยว่าเราจะปรับแต่งอะไร
วิธีลงม็อด มีอยู่ 2 วิธี ออโตแพ็คเกจ กับ เมนวล
แบบออโตแพ็คเกจ
- ดาวน์โหลดม็อดที่ต้องการ จากนั้นอัพขึ้นโฟลเดอร์แพ็คเกจ บนโฮสต์
- จากนั้นเปอมิสชั่น 777 ไฟล์หน้าแรก โฟลเดอร์ ธีม ซอร์ส แพ็คเกจ
- เข้าไปที่ผู้ดูแล / ศูนย์จัดการแพ็คเกจ / เลือกดูแพ็คเกจ
จะเจอม็อดที่เราอัพขึ้นไป จากนั้นคลิกที่บันทึกม็อด
ลงม็อดแล้วไม่แสดงผล* ม็อดบางตัวลงแล้วแสดงผลทันที นั่นก็เพราะไม่มีการปรับแต่งในส่วนที่แอดมินต้องไปเปิด หรือเลือกดำเนินการ
* ม็อดบางตัวลงแล้ว ต้องไปแก้ไฟล์ภาษาไทยด้วยถึงจะแสดงผล วิธีสังเกตุ ต้องดูว่าม็อดตัวนั้น แก้ไขไฟล์ภาษาอะไรบ้าง วิธีการดู
จากรูป เราจะเห็นว่า ม็อดตัวนี้มีเวอร์ชันล่าสุด 1.0
ม็อดตัวนี้ สนับสนุนเวอรืชัน 2.0 อาซี5 จากนั้นไปที่เมนูเลือกเวอร์ชันของบอร์ดเรา
จากนั้นคลิกที่parse
ลองดูส่วนท้ายๆ มักจะมีการแก้ภาษา จากรูปเขาบอกให้ แก้ที่ไฟล์ม็อด.อิงลิส
เราก้ต้องไปแก้ที่ไฟล์ ม็อด.ไทย (เพราะเราใช้ภาษาไทย)
* การจะดูว่าเปิดใช้งานหรือตั้งค่าม็อดได้จากไหน ให้ดูจากลิงก์ม็อดต้นฉบับนั้นๆ เช่น custom.simplemachines.org/mods/index.php?mod=1623 External Link อ่านเอาจาก Description: ม็อดตัวนี้แสดงผลทันที
อีกวิธีคือ ดูว่าม็อดนั้นๆแก้ไฟล์อะไรบ้าง เช่น แก้ไฟล์แอดมินเทมเพลท แสดงว่าจะต้องมีเมนูเพิ่มมาในหน้าแอดมิน
หรือแก้ไฟล์เปอมิสชัน แสดงว่าจะต้องมีการเพิ่มการอนุญาต
smf mod จะมีบางกรณีที่ไม่สามารถลงแบบอัตโนมัติได้
ก็จำเป็นต้องลงแบบเมนวล แกะโค๊ดเอง
- บางทีอาจเพราะไม่สามารถเปอมิสชันไฟล์ 777 ได้ เมื่อ 777 ไม่ได้ ไฟล์ก็เขียนทับไม่ได้
- บางทีไฟล์เขียนได้ แต่ไม่สามารถแอดดาต้าเบสได้ (บางม็อดจำเป็นต้องแอด)
- บางบอร์ดยำโค๊ดไฟล์จนเละเทะ ม็อดแบบออโตไม่สามารถหาโค๊ดเพื่อเขียนทับได้
- ม็อดบางตัว แก้ไฟล์ภาษาเยอะ เพราะฉะนั้นถ้าเราใช้ภาษาไทย เมนวลเอายังจะง่ายกว่าเสียอีก
ตัวอย่างการแมนนวลม็อด Facebook Video BBC
http://custom.simplemachines.org/mods/index.php?mod=1548เพิ่มปุ่มเฟสบุควีดีโอในหน้าตั้ง-ตอบกระทู้
- เลือกเวอร์ชันบอร์ดของตัวเอง แล้ว parse
- Readme (รูปแนบ2) เขาก็บอกแล้วอ่านเขาหน่อย อย่ามองข้าม เพราะบางทีในรีดมีหรือดีสสคริปชันเหล่านี้
จะบอกเราถึงวิธีเปิดใช้ม็อด วิธีการนำไปใช้งานจริง
- File Edits เริ่มกระบวนการแก้ไฟล์
ไฟล์ ./Sources/Subs.php
ค้นหา:
array(
'tag' => 'pre',
'before' => '<pre>',
'after' => '</pre>',
),
วางก่อนที่ค้นหา
array(
'tag' => 'facebook',
'type' => 'unparsed_content',
'content' => '<object width="576" height="460" ><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="never" />
การแก้ไฟล์ตามแบบหน้า parse นี้ เขาบอกแบบไหนทำตามแบบนั้น
Add Before: เอาไปไว้ก่อนหน้าที่ค้นหา
Replace เอาไปวางทับ
Add After: เอาไปไว้หลังที่ค้นหา
แก้แบบนี้ทุกไฟล์ แล้วอัพขึ้นทับบนโฮสต์
* การแก้ไฟล์ควรโหลดไฟล์ล่าสุดจากบนโฮสต์ลงมาแก้
* การแก้ไฟล์ควรแก้ด้วยโปรแกรม EditPlus
* ./Themes/default/.... ใช้ธีมไหนไปแก้ธีมนั้น ถ้าในธีมที่ใช้ไม่มีไฟล์นี้ ให้แก้ในธีมดีฟอลด์
* ./Themes/default/languages/Modifications.english.php เหมือนกัน ใช้ธีมไหน ไปแก้ในธีมนั้น
ถ้าในธีมไม่มี ไปแก้ที่ดีฟอลด์ แต่.. ถ้าใช้ภาษาไทยก็ต้องแก้ที่ไฟล์ไทย Modifications.thai.php Modifications.thai-utf8.php
หลังจากแก้ไฟล์แล้วลองดูด้านล่างสุด
File Operations
Move the included file "facebook.gif" to "./Themes/default/images/bbc".
ให้เ้ราก็อบไฟล์ facebook.gif ขึ้นไว้บนโฮสต์ตามโฟลเดอรืที่ระบุ
แล้ว facebook.gif จะเอามาจากไหน
ก็เอามาจากม็อดต้นฉบับ
แค่นี้ม็อดก็สามารถใช้งานได้
อ่า.. แล้วถ้ามันบอกแบบนี้ล่ะ
Code
install/db_install_adkportal.php
This file should be able to execute standalone.
นั่นคือม็อดตัวนี้มีการทำงานที่เกี่ยวข้องกับฐานข้อมูล ไม่ว่าจะแก้ จะเพิ่มก็แล้วแต่
ตรงนี้เองที่ทำเอาคนม็อดมือใหม่หลายๆคน (ตัวเองด้วยแหละ) จอดสนิท ไปไม่เป็น
ที่จริงก็สามารถไปเพิ่มใน phpmyadmin ได้โดยตรง แต่มือใหม่ทำไม่เป็นหนะ ให้ทำไง 55+
ยกตัวอย่าง Adk Portal
http://custom.simplemachines.org/mods/index.php?mod=2255ด้านล่างสุด
Code
install/db_install_adkportal.php
This file should be able to execute standalone.
ให้เราดาวน์โหลดม็อดนี้มาก่อน จากนั้นแตกไฟล์ซิป
เราจะเจอไฟล์ db_install_adkportal.php
ให้อัพไฟล์นี้ขึ้นโฮสต์ ไว้ที่เดียวกับ ssi.php
จากนั้นพิมพ์ในแอดเดรสบาร์ของเบราว์เซอร์
http://wwwyourweb.domain/..forum/db_install_adkportal.php >>> enter
ถ้าทุกอย่างเรียบร้อยดี
ก็จะขึ้นข้อความประมาณว่า Database changes are complete
และหากว่า ม็อดนั้นแสดงภาษาไทยเพี้ยน ก็ต้องเข้า phpmyadmin ไปเอนโค๊ดคาแรคเตอร์ของม็อดให้ตรงกับภาษาที่เราใช้
เเมนนวลเองจากไฟล์แพ็คเกจเมื่อโหลดม็อดมาจากเว็บ SMF ม็อดนั้นจะถูกบีบอัดในรูปแบบของไฟล์ .zip หรือ .tar.gz
แตกไฟล์ได้ด้วยโปรแกรม winzip winrar
และบางทีก็อาจจะมีซิปซ้อนซิป 555+ คือบีบมา 2 รอบ เพื่อให้ขนาดม็อดต้นฉบับน้อยลง
ทีนี้ลองดูว่าแตกไฟล์ม็อดออกมาแล้วจะเจออะไร แล้วจะเมนวลยังไง
ยกตัวอย่างม็อดเชาท์บ็อก
http://custom.simplemachines.org/mods/index.php?mod=129ไฟล์ม็อดที่ดาวน์โหลดมา SMFPacks_Shoutbox.zip แตกไฟล์ออกมาจะได้ตามรูป
package-info.xml (ม็อดเก่าๆ จะนามสกุล .mod ไม่ต้องสนใจมัน การทำงานมันก็ครือๆกัน เปิดด้วยอีดิตพลัส ก็เห็นไส้ข้างในเหมือนกัน)
หลักๆเลยก็เป็นไฟล์ที่ใช้แปรชุดคำสั่งให้ม็อดทำงานตามลำดับ
เช่น <install for="1.1-1.1.99">
นั่นหมายถึงม็อดตัวนี้สามารรถติดตั้งกับเวอร์ชัน 1.1.13 ได้
ทั้งนี้บางม็อดอาจจะจำกัดเวอร์ชัน ทำให้ไม่สามารถติดตั้งแบบออโตตแพคเกจได้ เพราะเวอร์ชันจะถูกอ่านเป็นลำดับแรก
เราก็สามารถมาแก้เลขนี้ให้เข้ากับเวอร์ชันของเราได้ ยกเย้นกรณี 1.1.* ข้ามไป 2.0.* ไม่สามารถทำได้
ในไฟล์นี้ยังมีคำสั่งต่อเนื่องคือ ติดตั้ง ย้ายไฟล์ ถอนการติดตั้ง ลบไฟล์
readme.txt
ชี้แจงรายละเอียดของม็อด หรืออาจจะชี้แจงลิขสิทธิ์
จะแสดงผลตอนติดตั้งออโตแพ็คเกจ ถ้าเมนวลก็แทบจะมองข้ามไฟล์นี้ได้เลย
โดยสรุป package-info.xml ไฟล์นี้เป็นไฟล์ที่คนเมนวลควรอ่านเป็นไฟล์แรกสุด
เพราะเขาจะบอกว่าให้ทำอะไร ให้ย้ายไฟล์อะไร เป็นลำดับขั้นตอน
smf-2.0.x_install.php
smf-1.1.x_install.php
ไฟล์เพิ่มเติมแก้ไขฐานข้อมูล
Themes อัพไฟล์ข้างในไปโฟลเดอร์ Themes
Sources_1.1.x อัพไฟล์ข้างในไปโฟลเดอร์ Sources
smf-1.1.x_install.xml
smf-2.0.x_install.xml
ไฟล์คำสั่งที่ใช้ติดตั้งจริง ในไฟล์นี้จะบอกว่า ให้แก้ไฟล์ไหน อย่างไร
ซึ่งถ้าเราเมนวลเราก็ต้องมาอ่านตามไฟล์นี้
ทีนี้ลองมาเมนวลจริงกันดู
ข้อควรจดจำ
การเมนวลตามวิธีของเว็บ parse เขาบอกบีฟอร์ เราก็วางก่อน เขาบอกอาฟเตอร์ เราก็วางหลัง
แต่การเมนวลจากไฟล์เอ็กเอมแอลนี้ ให้จำง่ายๆว่า ทำตรงข้ามกับคำสั่ง
ไฟล์บอก บีฟอร์ให้เราเอาไปไว้ข้างหลัง ไฟล์บอกอาฟเตอร์ ให้เราเอาไปไว้ข้างหน้า
ตัวอย่างการเมนวลจริงม็อด Shoutbox
จากไฟล์นี้ smf-1.1.x_install.xml ตัวติดตั้งสำหรับเวอร์ชัน 1.1.*
อ้างถึง
<file name="$boarddir/index.php">
<operation>
<search position="before"><![CDATA[require_once($sourcedir . '/Security.php');]]></search>
<add><![CDATA[
// Hack's Park Shoutbox -->
require_once($sourcedir . '/Subs-Shoutbox.php');
// <-- Hack's Park Shoutbox]]></add>
</operation>
<file name="$boarddir/index.php">
ให้แก้ไขไฟล์ index.php ของบอร์ด
<search position="before"><![CDATA[require_once($sourcedir . '/Security.php');]]></search>
ให้ค้นหาข้อความนี้ require_once($sourcedir . '/Security.php');
แล้วเอาข้อความใน <add><![CDATA[ ............ ]]></add> มาต่อท้าย
สีน้ำเงิน นั่นคือคำสั่งของไฟล์ xml
เวลาค้นหา ก็อปปี้ วาง ห้ามก็อปอักขระสีน้ำเงิน ก็อบไปวางก็เออเรอร์ เป็นอักขระส่วนเกินที่ไม่เกี่ยวกับโค๊ดพีเอชพี
ทำไล่แบบนี้ไปเรื่อยๆ ทีละไฟล์ จนเสร็จสมบูรณ์
ถ้าเจอไฟล์นี้
<file name="$languagedir/Modifications.english.php">
ก็อย่างที่ได้อธิบายไปแล้วเรื่องไฟล์ภาษา ใช้ธีมไหน ทำธีมนั้น ภาษาไทย แก้ที่ไฟล์ไทย
หลังจากจัดการตามไฟล์ smf-1.1.x_install.xml เส็จแล้ว ให้กลับไปดูที่ไฟล์ package-info.xml ว่าจะต้องทำอะไรอีกบ้าง
ตัวอย่าง
<require-dir name="Themes" destination="$boarddir" /> ย้ายไฟล์ในโฟลเดอร์ Themes ขึ้นโฮสต์โฟลเดอร์ Themes
<require-file name="Sources_1.1.x/Subs-Shoutbox.php" destination="$sourcedir" /> ย้ายไฟล์ Subs-Shoutbox.php ขึ้นโฮสต์ในโฟลเดอร์ source
<code>smf-1.1.x_install.php</code>
ให้รันไฟล์เพื่อเพิ่มเติมแก้ไขฐานข้อมูล
วิธีจัดการได้อธิบายไปแล้วก่อนหน้านี้
</install>
เป็นอันจบขั้นตอนติดตั้ง
พวกอัพเกรด-อันอินสตอล ไม่ต้องไปสนมัน เหอๆๆ
ทำไมเป็นแบบนั้น? เพราะที่ไฟล์ให้บีฟอร์ คือให้เอาคำที่ค้นหานั้นไว้บีฟอร์
แล้วถ้าไปเจอม็อดแบบในรูป
เปิดไฟล์ english.xml
เขาจะให้แก้ไฟล์ <file name="$languagedir/Modifications.english.php">
เราก็แก้ทั้งไฟล์อังกฤษ ไฟล์ไทย
แค่นี้ภาษาก็สมบูรณ์แล้ว
cradit:
http://www.justusers.net/forum/index.php?topic=7335.0