5. Model

ใน Joomla 3 มีส่วนประกอบ Model มีหน้าที่จัดการข้อมูลและโต้ตอบกับฐานข้อมูล โมเดลโดยทั่วไปประกอบด้วยวิธีการเรียกค้น จัดเก็บ ปรับปรุง และลบข้อมูลจากฐานข้อมูล นอกจากนี้ยังมีฟังก์ชันการตรวจสอบและการกรองเพื่อให้แน่ใจว่าข้อมูลถูกป้อนอย่างถูกต้องและตรงตามเกณฑ์ที่กำหนด 

5.1 สร้างโฟลเดอร์สำหรับเก็บไฟล์ Model

5.2 สร้างไฟล์ a.php

สร้าง Model a ทำในส่วนฟังก์ชันของ a
สร้าง Model a

 

Code ของไฟล์ models/a.php

<?php
/**
 * @package	HelloComponent
 * @subpackage	com_hellocomponent
 * @author	Mindphp Developer Teams
 * @copyright	Copyright (C) 2021 Mindphp. All rights reserved..
 * @license	GNU General Public License version 2 or later;
 */
defined('_JEXEC') or die();

class HellocomponentModelA extends Joomla\CMS\MVC\Model\ListModel
{
    function getDate()
    {
        return date('y:m:d');
    }

    
}

คำอธิบายโค้ด

  • class HellocomponentModelA extends Joomla\CMS\MVC\Model\ListModel

    สร้างคลาสชื่อ HellomindphpModelA (ขึ้นต้นด้วย "ชื่อของ Component" ตามด้วยคำว่า "Model" และ "ชื่อของ Model") โดยการสืบทอดคุณสมบัติมาจากคลาส ListModel

  •     function getDate()
        {
            return date('y:m:d');
        }
    

    สร้าง Method ชื่อ getData และส่งค่า "วันที่" กลับคืนให้ Method

 

 

 

5.3 การทำงานระหว่าง View กับ Model

5.3.1 เปิดไฟล์ views/a/view.html.php เพิ่มโค้ด

 

class HellocomponentViewA extends Joomla\CMS\MVC\View\HtmlView
{
    function display($tpl = null)
    {
        
        $this->date = $this->get('Date');
        echo "Test View A<br/>";
        $this->sidebar = JHtmlSidebar::render();

        $this->addToolbar();
        parent::display($tpl);

	}

    public function addToolbar()
    {
        \Joomla\CMS\Toolbar\ToolbarHelper::title(JText::_('COM_HELLOCOMPONENT_A'));
        \Joomla\CMS\Toolbar\ToolbarHelper::preferences('com_hellocomponent');
    }
}

คำอธิบายโค้ด

  • $this->date = $this->get('Date');​
    เรียกใช้งานเมธอด getData() โดยวิธีเรียกใช้คือ $this->get('Date') และให้เก็บในตัวแปล $this->date

 

 

5.3.2 เปิดไฟล์ views/a/tmpl/default.php เพิ่มโค้ด

<p>Test Layoul A</p>
<p><?php echo $this->date; ?></p>

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Aston2 v1.6.1 Multilingual เปลี่ยนหน้าจอ ( Desktop )
โดย petemaker จ 11 ม.ค. 2010 10:48 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
1818
จ 11 ม.ค. 2010 10:48 am โดย petemaker View Topic Aston2 v1.6.1 Multilingual เปลี่ยนหน้าจอ ( Desktop )
ด่วน !!! บริษัท เพย์สบาย จำกัด เปิดรับสมัครพนักงาน ตำแหน่ง Web Designer จำนวน 1
โดย tume อ 10 ม.ค. 2010 10:41 pm บอร์ด MindPHP News & Feedback
0
2474
อ 10 ม.ค. 2010 10:41 pm โดย tume View Topic ด่วน !!! บริษัท เพย์สบาย จำกัด เปิดรับสมัครพนักงาน ตำแหน่ง Web Designer จำนวน 1
HostNeverDie Hosting Reviews
โดย decay อ 10 ม.ค. 2010 1:51 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
1
2057
อ 12 ม.ค. 2010 9:28 am โดย mindphp View Topic HostNeverDie Hosting Reviews
โค้ดนาฬิกา ใส่ Hi5 แบบ flash
โดย โหลด1 อ 10 ม.ค. 2010 4:22 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
3770
อ 10 ม.ค. 2010 2:00 pm โดย decay View Topic โค้ดนาฬิกา ใส่ Hi5 แบบ flash
ตัวอักษรพิเศษ อักษรพิเศษ MSN Hi5 FB สัญลักษณ์ msn facebook สัญลักษณ์
โดย โหลด1 อ 10 ม.ค. 2010 1:49 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
14
192171
พ 03 มิ.ย. 2020 9:41 am โดย Sirayu View Topic ตัวอักษรพิเศษ อักษรพิเศษ MSN Hi5 FB สัญลักษณ์ msn facebook สัญลักษณ์
template setting
โดย neednottokonw ส 09 ม.ค. 2010 9:44 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
7
1681
จ 11 ม.ค. 2010 1:44 am โดย mindphp View Topic template setting
ช่วยเขียนโปรแกรมให้หน่อยค่ะ (ใช้ visual c++)
โดย zizz ส 09 ม.ค. 2010 12:18 pm บอร์ด Programming - C/C++ & java & Python
3
4086
พฤ 03 มิ.ย. 2010 8:10 pm โดย shinobijack View Topic ช่วยเขียนโปรแกรมให้หน่อยค่ะ (ใช้ visual c++)
กำลังทำโปรเจคระบบประเมินผลออนไลน์อยู่คะ
โดย nookoy ส 09 ม.ค. 2010 6:34 pm บอร์ด Programming - PHP
4
3032
พฤ 22 พ.ย. 2018 12:39 am โดย บุคคลทั่วไป View Topic กำลังทำโปรเจคระบบประเมินผลออนไลน์อยู่คะ