Page 1 of 1

วิธีการสร้าง Module ของ Joomla โดยใช้ Discover File Module

Posted: 11/07/2019 2:43 pm
by Patipat
เวลาเราจะสร้าง Module ของ Joomlaใหม่ ๆ เราจะต้องเพิ่มไฟล์เพื่อที่จะสร้างโมดูลใหม่ และเราต้องมีการเตรียมไฟล์เพื่อที่จะ Discover Discover คือ นำไฟล์ที่เราสร้างเตรียมไว้เพื่อที่จะสร้าง Module ใหม่ เหมือนเป็นการเพิ่มไฟล์ที่จะทำโมดูลใหม่ ให้เข้ามาใน Joomlaถ้าเราไม่ Discoevr file เราจะไม่สามารถนำไฟล์เข้ามา Joomla ได้ ในบทความนี้เราจะแสดงวิธีทำการ Discover file ของ Module นะครับ มีวิธีทำดังนี้ครับ

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

2. ในไฟล์ .XMLเรามาดูในส่วนที่ครอบไว้นะครับ
- ใน tag file คือ เราจะนำไฟล์อะไรมาแสดงบ้าง ในตัวอย่างก็จะมี tag folder และ file name ก็คือมีทั้งโฟลเดอร์และชื่อไฟล์
Selection_999(266).png
Selection_999(266).png (64.48 KiB) Viewed 432 times
- ถ้าเราเปลี่ยนชื่อโฟลเดอร์หรือไฟล์ ก็ต้องแก้ให้เหมือนกันนะครับ
และในส่วนของ moodule เราก็ต้องเปลี่ยนชื่อ ให้เหมือนกับไฟล์เรียกใช้ฟังก์ชันข้อมูล ที่ได้ตั้งไว้นะครับ
Selection_999(267).png
Selection_999(267).png (18.88 KiB) Viewed 432 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
Selection_999(268).png (27.21 KiB) Viewed 432 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
Selection_999(269).png (63.14 KiB) Viewed 432 times
5. ต่อมาเป็นไฟล์ ที่อยู่ใน โฟลเดอร์ tmpl ก็คือเป็นไฟล์แสดงข้อมูลตามที่เรากำหนด ก็ต้องมีหัวไฟล์เช่นเดียวกับ ข้อ 3 และ 4 เลยครับ ให้เราก๊อบมาใส่ได้เลย
หลังจากนั้น ก็ให้ทำการเขียนโค้ด ทำงานเหมือนกับ Index.php เลยครับ ไฟล์ที่อยุ่ในโฟลเดอร์ tmpl

6. หลังจากที่ได้แก้ไขไฟล์แล้ว ให้เราไปที่ joomla/administrator > Extension > Menage > Discover เราจะเห็นไฟล์ที่เราได้สร้างไว้ใหม่นะครับ
Selection_999(270).png
7. หลังจากนั้นให้เรา กด ติ๊กเครื่องหมายถูก และทำการ Install ได้เลยครับ แล้วก็จะเห็นว่าติดตั้งเสร็จสิ้นครับ
Selection_999(272).png
8. ต่อมาให้เราไปดูว่า Module ของเรามาหรือยัง ก็ให้ไปกดที่ Extension > module > New ในภาพ Module มาแล้วก็จะเห็นดังภาพครับ
Selection_999(273).png
Selection_999(273).png (31.85 KiB) Viewed 432 times

เพียงเท่านี้ก็สร้าง โมดูลใหม่ได้แล้วครับผมโดยการ Discover file