พื้นฐาน Joomla

การใช้ phpMyAdmin
phpMyAdmin เป็น Web Application (เว็บแอพพลิเชั่น) ชนิดหนึ่ง ใช้งานผ่านเว็บบราวเซอร์ มีความสาม...

เทคนิค Joomla

แก้ปัญหา Update Manager
Component Update Manager เป็นคอมโพเน้นท์ที่สามารถอัพเดท Joomla ของเราให้เป็นเวอร์ชั่นล่าสุดได้...

แนะนำ Extension

Dinabar Pop Up เลื่อนได้
Dinabar โมดูลลูกเล่นตัวนึงที่น่าใช้งานสำหรับการทำ Pop Up ครับ สามารถสไลด์ เลื่อนตาม Scroll Ba...
( 2 Votes )
Modify Joomla สำหรับตอนที่ 2 นี้ จะมาลองแก้ไขโมดูล JF Total Users กันครับ , สำหรับคนที่เคยใช้โมดูล JF Total Users มาก่อนคงจะพอทราบนะครับว่า มันมีไว้สำหรับแสดงผลจำนวนผู้เข้าชมแต่ละช่วงเวลา เช่น วันนี้ , สัปดาห์นี้ , เดือนนี้ และ สมาชิกล่าสุด ซึ่งดูแล้วก็คงคิดว่าไม่ค่อยมีอะไรให้น่าเล่น แต่เราลองมาเล่นเพื่อเป็นพื้นฐานกันก็ได้

Modify JF Total Users

Modify JF Total Users

แต่บังเอิญผมได้เคยติดตั้งโมดูลนี้ไปให้ลูกค้ารายหนึ่ง แล้วได้รับการร้องขอมาว่า อยากได้แสดงผู้สมัครล่าสุด 10 คนแทน แน่นอนล่ะครับว่า โมดูลตัวอื่นที่ใช้งานได้มันก็มี แต่ด้วยความหน้ามืดตามัว ผมเลยจัดการ Modify โมดูลตัวนี้ซะ

การแก้ไขส่วนแสดงผลของโมดูลนั้น มักจะอยู่ที่ mod_ชื่อโมดูล.php หรือไม่ก็ภายในไดเร็คทอรี่ tmpl/default.php มันมีไม่เยอะหรอกครับพวกโมดูลเล็ก ๆ เปิดแป๊บเดียวก็หาเจอ ดังนั้นผมจึงไล่เปิดโมดูลนี้ ที่ไฟล์ mod_jf-totalusers.php เป็นไฟล์แรก แล้วก็พบดังนี้

// ULTIMO
$ultimo_reg = "SELECT username FROM #__users  WHERE block=\"0\" AND usertype <> \"administrator\" AND usertype <> \"superadministrator\" ORDER BY registerDate DESC LIMIT 1";
$db->setQuery($ultimo_reg);
$ultimo =& $db->loadResultArray();

ซึ่งแน่นอน มันคือการแสดงผลของโมดูลตัวนี้ ซึ่งเป็นการทำงานโดยเรียกจากฐานข้อมูลมาแสดงผลโดยตรง แปลได้ว่า ให้เลือกผู้ใช้งานจากตาราง jos_users ที่ไม่ถูกบล็อก และไม่ใช่ Administrator กับ Super Administrator โดยเรียงลำดับตามวันที่ล่าสุด จำนวน 1 คน , ดังนั้น ผมจึงแก้ไขมันซะ

$u = "SELECT name,registerDate FROM jos_users WHERE block=\"0\" AND usertype <> \"Administrator\" AND usertype <> \"Super Administrator\" ORDER BY registerDate DESC LIMIT 10";

แปลได้ว่า ให้เลือกผู้ใช้งานจากตาราง jos_users ที่ไม่ถูกบล็อก และไม่ใช่ Administrator กับ Super Administrator โดยเรียงลำดับตามวันที่ล่าสุด จำนวน 10 คน
เปลี่ยนค่า LIMIT 10 ไม่พอ ต้องมา fetch ด้วย

$result = mysql_query($u);
$i=0;
while ($array = mysql_fetch_array($result)) {
$i++;
echo "คุณ : ".$array['name']."<br>";
}

นี่เป็นตัวอย่างง่าย ๆ อีกเช่นกัน สำหรับการเริ่มต้น Modify อย่าลืมว่า Joomla มันคือ PHP ดังนั้น หากเราต้องการอะไรนิด ๆ หน่อย ๆ เราก็แทรก เติม เสริม แต่ง ให้กับมันได้ครับ เรียบร้อยครับ แสดงผล 10 คนล่าสุดได้แล้ว Tongue out

Modify ได้อย่างใจ ตอนที่ 2 JF Total Users