ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

สารบัญ

Front End และ Back End ใน Joomla Component

การสร้างคอมโพเน้นท์ของจูมล่านั้นจะมีการแบ่งออกเป็นสองส่วนคือ Front End (สำหรับผู้ใช้งานทั่วไป) และ Back End (สำหรับผู้ดูแลระบบ)

ซึ่งในบทความนี้จะพูดถึงเฉพาะ Front End และ Back End สำหรับหลักการเขียน Component ของ Joomla ดูได้ที่บทความ สร้าง Component เรียนรู้ MVC แบบ Joomla

Front End

1.สร้างโฟลเดอร์คอมโพเน้นท์ com_frontbackend

2. สร้างไฟล์เริ่มแรกของคอมโพเน้นท์ com_frontbackend/frontbackend.php

Code ของไฟล์ frontbackend.php

บรรทัดที่ 23 : เป็นการกำหนดชื่อคลาสของ Controller

 

3. Model

3.1 สร้างโฟล์เดอร์ models

3.2 สร้างไฟล์ models/a.php

 

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

 

4. Controller

4.1 สร้าง Default Controller โดยตั้งชื่อไฟล์เป็น controller.php

Code ของไฟล์ controller.php

 

4.2 สร้างโฟลเดอร์ controllers

4.3 สร้างไฟล์ controllers/a.php

 

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

 

บรรทัดที่ 8-9 : เป็นการกำหนดให้ใช้ View (a) และ Layout (default)

5. View

5.1 สร้างโฟลเดอร์ views เพื่อเก็บ View ทั้งหมดที่เราใช้งาน

5.1 สร้างโฟลเดอร์ views/a

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

 

 

Code ของไฟล์ views/a/view.html.php

 

บรรทัดที่ 8 : เป็นการเรียกใช้เมธอด getData() จาก Model A แล้วเก็บค่าใส่ตัวแปร $mydata

บรรทัดที่ 9 :เป็นการสร้างตัวแปร item เพื่อนำไปใช้ใน Layout

 

5.3 สร้างโฟลเดอร์ tmpl

5.4 สร้างไฟล์ views/a/tmpl/default.php

 

Code ของไฟล์ views/a/tmpl/default.php

 

ทดสอบคอมโพเน้นในส่วนของ Front End

http://localhost/joomla/index.php?option=com_frontbackend&controller=a

 

 


 

1. Copy โฟลเดอร์คอมโพเน้นท์ com_frontbackend ทั้งโฟลเดอร์ไปไว้ในโฟลเดอร์ administrator/components

 

2. เปลี่ยนชื่อไฟล์ frontbackend.php เป็น admin.frontbackend.php

3. เปิดไฟล์ administrator/com_frontbackend/admin.frontbackend.php

แก้ไขโค็ดบรรทัดที่ 11 และ 14 โดยเปลี่ยนจาก JPATH_COMPONENT เป็น JPATH_COMPONENT_ADMINISTRATOR

3. เปิดไฟล์ administrator/com_frontbackend/views/a/tmpl/default.php

แก้ไขบรรทัดที่ 4 นิดหน่อย

ทดสอบคอมโพเน้นในส่วนของ Back End

http://localhost/joomla/administrator/index.php?option=com_frontbackend&controller=a

 

 

โหลดโค้ดตัวอย่างได้ที่ โค้ดตัวอย่างประกอบบทความ

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามวิธีการทำให้หน้าเว็บปรับขนาดตามจอค่ะ
โดย Anonymous อ 12 พฤษภาคม 2020 11:35 pm บอร์ด HTML CSS
4
222
พ 13 พฤษภาคม 2020 8:52 pm โดย บุคคลทั่วไป
ตั้งค่าความกว้างของรูป 100% ในส่วนเสริม Latest News Enhanced ยังไงครับ
โดย toonytoony2004 จ 11 พฤษภาคม 2020 8:30 pm บอร์ด Joomla Development
1
280
อ 12 พฤษภาคม 2020 2:38 pm โดย tsukasaz
สอบถามวิธีการคำนวน sum(prices) แบบรายปี
โดย Anonymous อ 10 พฤษภาคม 2020 9:25 am บอร์ด Programming - PHP
2
609
อ 12 พฤษภาคม 2020 8:34 am โดย บุคคลทั่วไป
สอบถามการเพิ่มข้อมูลลงฐานข้อมูลค่ะ php, mysql
โดย Anonymous ศ 08 พฤษภาคม 2020 11:20 pm บอร์ด Programming - PHP
12
4961
พ 03 มิ.ย. 2020 9:55 am โดย Sirayu
วิธีบันทึกข้อมูลเข้ารหัสmd5
โดย champp ศ 08 พฤษภาคม 2020 5:55 pm บอร์ด PHP Knowledge
0
1035
ศ 08 พฤษภาคม 2020 5:55 pm โดย champp
human error คืออะไร
โดย champp ศ 08 พฤษภาคม 2020 12:43 pm บอร์ด PHP Knowledge
0
80
ศ 08 พฤษภาคม 2020 12:43 pm โดย champp
Input Type สำหรับใช้งาน
โดย champp ศ 08 พฤษภาคม 2020 12:17 pm บอร์ด PHP Knowledge
0
85
ศ 08 พฤษภาคม 2020 12:17 pm โดย champp
วิธีเปลี่ยนภาพไปเรื่อยๆ ด้วย JavaScript
โดย champp ศ 08 พฤษภาคม 2020 12:14 pm บอร์ด PHP Knowledge
0
84
ศ 08 พฤษภาคม 2020 12:14 pm โดย champp
เครื่องมือในการคำนวณ Bandwidth
โดย prmindphp พฤ 07 พฤษภาคม 2020 6:50 pm บอร์ด MindPHP News & Feedback
0
167
พฤ 07 พฤษภาคม 2020 6:50 pm โดย prmindphp
วิธีตรวจสอบข้อมูลซ้ำ
โดย champp พฤ 07 พฤษภาคม 2020 6:15 pm บอร์ด PHP Knowledge
0
1411
พฤ 07 พฤษภาคม 2020 6:15 pm โดย champp
เขียน CSS ในลักษณะต่างๆ
โดย champp พฤ 07 พฤษภาคม 2020 5:35 pm บอร์ด CSS Knowledge
0
82
พฤ 07 พฤษภาคม 2020 5:35 pm โดย champp
เริ่มเเล้ว "โครงการตู้เย็นข้างบ้านต้านภัย COVID-19" แจกฟรี.. เมล็ดพันธุ์ผักสวนครัวแก่เกษตรกรและประชาชนทั่วไป 10,000 ชุด
โดย thatsawan พ 06 พฤษภาคม 2020 9:55 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
197
พฤ 07 พฤษภาคม 2020 5:05 pm โดย thatsawan
padding ต่างจาก margin อย่างไร
โดย champp พฤ 07 พฤษภาคม 2020 4:49 pm บอร์ด CSS Knowledge
0
169
พฤ 07 พฤษภาคม 2020 4:49 pm โดย champp
IR infrared obstacle detection sensor คืออะไร
โดย champp พฤ 07 พฤษภาคม 2020 4:16 pm บอร์ด IOT - Internet of things
0
86
พฤ 07 พฤษภาคม 2020 4:16 pm โดย champp
ตู้จดหมายแจ้งเตือนผ่านไลน์ได้อย่างไร
โดย champp พฤ 07 พฤษภาคม 2020 3:58 pm บอร์ด IOT - Internet of things
0
147
พฤ 07 พฤษภาคม 2020 3:58 pm โดย champp
วิธีการบันทึกข้อมูลหลายตารางพร้อมกัน
โดย champp พฤ 07 พฤษภาคม 2020 3:39 pm บอร์ด PHP Knowledge
0
1758
พฤ 07 พฤษภาคม 2020 3:39 pm โดย champp
R - เครียร์ข้อมูลทดสอบ ออกจากหน้าเว็บ
โดย mindphp พฤ 07 พฤษภาคม 2020 10:24 am บอร์ด OdooJob.com - Developer
0
1
พฤ 07 พฤษภาคม 2020 10:24 am โดย mindphp
เกษตรกรปลูกพืชเตรียมรับเงินเยียวยา มีขั้นตอนตรวจดังนี้
โดย thatsawan อ 05 พฤษภาคม 2020 5:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
148
พ 06 พฤษภาคม 2020 7:53 pm โดย arenaofblood
อัพเดทแบบดับเบิล! Joomla เวอร์ชั่น 3.9.17 กับ 3.9.18
โดย tsukasaz อ 05 พฤษภาคม 2020 2:18 pm บอร์ด MindPHP News & Feedback
0
126
อ 05 พฤษภาคม 2020 2:18 pm โดย tsukasaz
แนะนำเทคนิคการเล่นกีฬา หัวข้อแบตมินตัน
โดย champp อ 05 พฤษภาคม 2020 12:43 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
70
อ 05 พฤษภาคม 2020 12:43 pm โดย champp