เวลาเราจะสร้าง
Module ของ Joomlaใหม่ ๆ เราจะต้องเพิ่มไฟล์เพื่อที่จะสร้างโมดูลใหม่ และเราต้องมีการเตรียมไฟล์เพื่อที่จะ Discover Discover คือ นำไฟล์ที่เราสร้างเตรียมไว้เพื่อที่จะสร้าง Module ใหม่ เหมือนเป็นการเพิ่มไฟล์ที่จะทำโมดูลใหม่ ให้เข้ามาใน
Joomlaถ้าเราไม่ Discoevr file เราจะไม่สามารถนำไฟล์เข้ามา Joomla ได้ ในบทความนี้เราจะแสดงวิธีทำการ Discover file ของ Module นะครับ มีวิธีทำดังนี้ครับ
ไฟล์ที่ต้องมีในการสร้าง
Module ใหม่นะครับ
1. ไฟล์ ภาษา
2 ไฟล์ กำหนดแสดงสินค้าที่อยู่ในโฟลเดอร์ tmpl
3. ไฟล์ ติดต่อกับฐานข้อมูล
4. ไฟล์ ในการเรียกใช้ฟังก์ชัน
5. ไฟล์
.XML เพื่อแสดงข้อมูล

- Selection_999(265).png (22.83 KiB) Viewed 537 times
1. ให้เราเตรียมไฟล์
XML ของเราก็คือ ถ้าเรามี แบบ Module อื่นอยู่แล้วก็ให้เรานำไฟล์ ที่มีอยู่มาแก้ได้ครับ
- ให้แก้ tag <name><name>
- ให้แก้ tag <description></description>
2. ในไฟล์
.XMLเรามาดูในส่วนที่ครอบไว้นะครับ
- ใน tag file คือ เราจะนำไฟล์อะไรมาแสดงบ้าง ในตัวอย่างก็จะมี
tag folder และ
file name ก็คือมีทั้งโฟลเดอร์และชื่อไฟล์

- Selection_999(266).png (64.48 KiB) Viewed 537 times
- ถ้าเราเปลี่ยนชื่อโฟลเดอร์หรือไฟล์ ก็ต้องแก้ให้เหมือนกันนะครับ
และในส่วนของ moodule เราก็ต้องเปลี่ยนชื่อ ให้เหมือนกับไฟล์เรียกใช้ฟังก์ชันข้อมูล ที่ได้ตั้งไว้นะครับ

- Selection_999(267).png (18.88 KiB) Viewed 537 times
3. และในส่วนของไฟล์ เรียกใช้ฟังก์ชันข้อมูลก็ต้องกำหนดหัวไฟล์ และ เปลี่ยนชื่อให้เหมือนกับชื่องานของเรา
Code: Select all
<?php
/**
* @package products_slideshow
* @author Mindphp Developer Teams
* @copyright Copyright (C) 2018 Mindphp. All rights reserved..
* @license GNU General Public License version 2 or later;
*/
defined('_JEXEC') or die('Restricted access');
ผลลัพธ์ก็จะได้ตามภาพนี้นะครับ

- Selection_999(268).png (27.21 KiB) Viewed 537 times
4. ต่อมาไฟล์ ที่ติดต่อกับฐานข้อมูลก็จะต้องมี หัวไฟล์เหมือนกันครับ ให้สร้างตาม
ข้อที่ 3 ได้เลยครับ
และต่อมาก็ วิธี select ข้อมูลจากฐานข้อมูลเพื่อนำไปใช้ใน ฟังก์ชัน ต่างๆ ที่ได้กำหนดไว้
Code: Select all
class ModShowProductNewItem
{
public function newItem()
{
$db = Joomla\CMS\Factory::getDbo();
$query = $db ->getQuery(true)
->select('*')
->from('#products')
->order('product_id');
$db->setQuery($query);
$items = $db ->loadAssocList();
return $items;
}
}
ผลลัพธ์ก็จะได้หน้านี้ครับ

- Selection_999(269).png (63.14 KiB) Viewed 537 times
5. ต่อมาเป็นไฟล์ ที่อยู่ใน โฟลเดอร์ tmpl ก็คือเป็นไฟล์แสดงข้อมูลตามที่เรากำหนด ก็ต้องมีหัวไฟล์เช่นเดียวกับ
ข้อ 3 และ 4 เลยครับ ให้เราก๊อบมาใส่ได้เลย
หลังจากนั้น ก็ให้ทำการเขียนโค้ด ทำงานเหมือนกับ Index.php เลยครับ ไฟล์ที่อยุ่ในโฟลเดอร์ tmpl
6. หลังจากที่ได้แก้ไขไฟล์แล้ว ให้เราไปที่ joomla/administrator >
Extension > Menage > Discover เราจะเห็นไฟล์ที่เราได้สร้างไว้ใหม่นะครับ
7. หลังจากนั้นให้เรา กด ติ๊กเครื่องหมายถูก และทำการ Install ได้เลยครับ แล้วก็จะเห็นว่าติดตั้งเสร็จสิ้นครับ
8. ต่อมาให้เราไปดูว่า Module ของเรามาหรือยัง ก็ให้ไปกดที่
Extension > module > New ในภาพ Module มาแล้วก็จะเห็นดังภาพครับ

- Selection_999(273).png (31.85 KiB) Viewed 537 times
เพียงเท่านี้ก็สร้าง โมดูลใหม่ได้แล้วครับผมโดยการ Discover file
เวลาเราจะสร้าง [url=https://www.mindphp.com/vdo-tutorial-joomla-basic/5225-new-module-joomla.html]Module ของ Joomla[/url]ใหม่ ๆ เราจะต้องเพิ่มไฟล์เพื่อที่จะสร้างโมดูลใหม่ และเราต้องมีการเตรียมไฟล์เพื่อที่จะ Discover Discover คือ นำไฟล์ที่เราสร้างเตรียมไว้เพื่อที่จะสร้าง Module ใหม่ เหมือนเป็นการเพิ่มไฟล์ที่จะทำโมดูลใหม่ ให้เข้ามาใน [url=https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/34-joomla.html]Joomla[/url]ถ้าเราไม่ Discoevr file เราจะไม่สามารถนำไฟล์เข้ามา Joomla ได้ ในบทความนี้เราจะแสดงวิธีทำการ Discover file ของ Module นะครับ มีวิธีทำดังนี้ครับ
ไฟล์ที่ต้องมีในการสร้าง [color=#FF0080]Module[/color] ใหม่นะครับ
1. ไฟล์ ภาษา
2 ไฟล์ กำหนดแสดงสินค้าที่อยู่ในโฟลเดอร์ tmpl
3. ไฟล์ ติดต่อกับฐานข้อมูล
4. ไฟล์ ในการเรียกใช้ฟังก์ชัน
5. ไฟล์ [color=#FF8000].XML[/color] เพื่อแสดงข้อมูล
[attachment=7]Selection_999(265).png[/attachment]
1. ให้เราเตรียมไฟล์ [color=#FF8000]XML[/color] ของเราก็คือ ถ้าเรามี แบบ Module อื่นอยู่แล้วก็ให้เรานำไฟล์ ที่มีอยู่มาแก้ได้ครับ
- ให้แก้ tag <name><name>
- ให้แก้ tag <description></description>
2. ในไฟล์[color=#FF8000] .XML[/color]เรามาดูในส่วนที่ครอบไว้นะครับ
- ใน tag file คือ เราจะนำไฟล์อะไรมาแสดงบ้าง ในตัวอย่างก็จะมี [color=#FF4040]tag folder[/color] และ [color=#FF4040]file name[/color] ก็คือมีทั้งโฟลเดอร์และชื่อไฟล์
[attachment=6]Selection_999(266).png[/attachment]
- ถ้าเราเปลี่ยนชื่อโฟลเดอร์หรือไฟล์ ก็ต้องแก้ให้เหมือนกันนะครับ
และในส่วนของ moodule เราก็ต้องเปลี่ยนชื่อ ให้เหมือนกับไฟล์เรียกใช้ฟังก์ชันข้อมูล ที่ได้ตั้งไว้นะครับ
[attachment=5]Selection_999(267).png[/attachment]
3. และในส่วนของไฟล์ เรียกใช้ฟังก์ชันข้อมูลก็ต้องกำหนดหัวไฟล์ และ เปลี่ยนชื่อให้เหมือนกับชื่องานของเรา
[code=php]<?php
/**
* @package products_slideshow
* @author Mindphp Developer Teams
* @copyright Copyright (C) 2018 Mindphp. All rights reserved..
* @license GNU General Public License version 2 or later;
*/
defined('_JEXEC') or die('Restricted access');[/code]
ผลลัพธ์ก็จะได้ตามภาพนี้นะครับ
[attachment=4]Selection_999(268).png[/attachment]
4. ต่อมาไฟล์ ที่ติดต่อกับฐานข้อมูลก็จะต้องมี หัวไฟล์เหมือนกันครับ ให้สร้างตาม [color=#FF4000]ข้อที่ 3[/color] ได้เลยครับ
และต่อมาก็ วิธี select ข้อมูลจากฐานข้อมูลเพื่อนำไปใช้ใน ฟังก์ชัน ต่างๆ ที่ได้กำหนดไว้
[code=php]class ModShowProductNewItem
{
public function newItem()
{
$db = Joomla\CMS\Factory::getDbo();
$query = $db ->getQuery(true)
->select('*')
->from('#products')
->order('product_id');
$db->setQuery($query);
$items = $db ->loadAssocList();
return $items;
}
}[/code]
ผลลัพธ์ก็จะได้หน้านี้ครับ
[attachment=3]Selection_999(269).png[/attachment]
5. ต่อมาเป็นไฟล์ ที่อยู่ใน โฟลเดอร์ tmpl ก็คือเป็นไฟล์แสดงข้อมูลตามที่เรากำหนด ก็ต้องมีหัวไฟล์เช่นเดียวกับ [color=#FF4000]ข้อ 3 และ 4[/color] เลยครับ ให้เราก๊อบมาใส่ได้เลย
หลังจากนั้น ก็ให้ทำการเขียนโค้ด ทำงานเหมือนกับ Index.php เลยครับ ไฟล์ที่อยุ่ในโฟลเดอร์ tmpl
6. หลังจากที่ได้แก้ไขไฟล์แล้ว ให้เราไปที่ joomla/administrator > [color=#000080]Extension > Menage > Discover[/color] เราจะเห็นไฟล์ที่เราได้สร้างไว้ใหม่นะครับ
[attachment=2]Selection_999(270).png[/attachment]
7. หลังจากนั้นให้เรา กด ติ๊กเครื่องหมายถูก และทำการ Install ได้เลยครับ แล้วก็จะเห็นว่าติดตั้งเสร็จสิ้นครับ
[attachment=1]Selection_999(272).png[/attachment]
8. ต่อมาให้เราไปดูว่า Module ของเรามาหรือยัง ก็ให้ไปกดที่ [color=#000080]Extension > module > New[/color] ในภาพ Module มาแล้วก็จะเห็นดังภาพครับ
[attachment=0]Selection_999(273).png[/attachment]
เพียงเท่านี้ก็สร้าง โมดูลใหม่ได้แล้วครับผมโดยการ Discover file