Lập trình web chuyên sâu với CMS Joomla - Bài 4: Module

pdf 32 trang vanle 2470
Bạn đang xem 20 trang mẫu của tài liệu "Lập trình web chuyên sâu với CMS Joomla - Bài 4: Module", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdflap_trinh_web_chuyen_sau_voi_cms_joomla_bai_4_module.pdf

Nội dung text: Lập trình web chuyên sâu với CMS Joomla - Bài 4: Module

  1. TRUNG TÂM TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM LẬP TRÌNH WEB CHUYÊN SÂU VỚI CMS JOOMLA 1
  2. TRUNG TÂM TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM Bài 4: Module 1.1. GiGiớớii thithiệệuu 2.2. TTạạoo mmoduodullee đơđơnn gigiảảnn 3.3. TTạạoo mmoduodullee nânângng ccaoao 4.4. ĐĐóóngng ggóóii mmoduodulele 2
  3. Bài4: Module 11 GiGiớớii tthihiệệuu § Module làmộtloạithànhphầnmởrộng trongJoomla. § Cóthể xemmodule như làmộtbộphận độclậpcóthể lắpvàotrangweb hay tháo bỏ khỏitrangweb. Modulecungcấpmột chứcnăngnhỏ trêntrangweb. Vídụ: hiển thị 10 tin tứcmớinhất, hiểnthị giávàng, thờitiết § Đặc điểm: •Cóthểđặtmodule ở bấtkì vị trí nàotrêntrangweb •Cóthểđặt ở bấtkỳtrangnào màmenu link tới. 3
  4. Bài4: Module Top Menu Tìmkiếm Latest News Popular Main Menu Menu tàinguyên Poll Component Frontpage 4 Menu gtKháiniệm
  5. Bài4: Module 22 TTạạoo mmooddululee đơđơnn gigiảảnn § Nộidung – Giớithiệu – Cấutrúcmodule đơngiản – Cácbướctạomodule đơngiản 5
  6. Bài4: Module GiGiớớii tthihiệệuu § Module đơngiảnlàmodule chỉ gồm2 file: – File mod_ten_module.php để xử lýchức năng: cả phầnhiểnthị giaodiệnvàxửlýdữ liệu đềunằmtrongfile này. – File mod_ten_module.xml để cấuhình 6
  7. Bài4: Module CCấấuu trtrúúcc MMooddululee đơđơnn gigiảảnn § Module ở Front End – Vị trícode: /modules/ – Cấutrúc1 module đơngiản: Mỗimodule sẽ cóítnhất2 file: mod_tenmodule.xmlvà mod_tenmodule.php § mod_tenmodule.php: file xử lýchínhcủa module, chứacácxửlýchứcnăngcho module § mod_tenmodule.xml: chứathôngtin cấu hìnhmodule như: tênmodule, tácgiả, ngày tạo, phiênbản, môtả, vàcácthamsốtruyền vào. Minh họa 7
  8. Bài4: Module CCáácc bbưướớcc ttạạoo mmodulodulee đơđơnn gigiảảnn § Bước1: Vàothư mụcJoomla/modules, tạocấutrúcmodule hello như sau: 8
  9. Bài4: Module CCáácc bbưướớcc ttạạoo mmodulodulee đơđơnn gigiảảnn § Bước2: tạonộidung chofile mod_hello.php. Vídụ: xuấtcâuchào. mod_hello.php Chàocácbạn 9
  10. Bài4: Module CCáácc bbưướớcc ttạạoo mmodulodulee đơđơnn gigiảảnn § Bước3: tạonộidung chofile mod_hello.xml: copy nộidung từ file mod_footer.xml, sau đóchỉnhsửa: • Đặttênchomodule (name) làHello •Tácgiả (author) làtênngườitạo •chỉnhthẻ file_name: mod_hello.php 10
  11. Bài4: Module CCáácc bbưướớcc ttạạoo mmodulodulee đơđơnn gigiảảnn § Bước3: tạonộidung chofile mod_hello.xml mod_hello.xml Hello Tácgiả July 2006 Copyright(C) 2005 -2008 Open Source Matters GNU/GPL admin@joomla.org www.joomla.org 1.5.0 This module shows the Joomla! mod_hello.php 11
  12. Bài4: Module CCáácc bbưướớcc ttạạoo mmodulodulee đơđơnn gigiảảnn § Bước4: sử dụngmod_hellovừatạo –Vàotrangquảntrị củaJoomla, vào Extensions\Module Manager – Click New để thêmmới1 module vàchọnloại module làHello 12
  13. Bài4: Module CCáácc bbưướớcc ttạạoo mmodulodulee đơđơnn gigiảảnn § Bước4: sử dụngmod_hellovừatạo –Nhậpthôngtin chomodule vàclick Save để lưulại –Kếtquả hiểnthị module ứngvớivịtríchọnlà left: 13
  14. Bài4: Module 33 TTạạoo mmooddululee nnâângng caocao § Giớithiệu § Cácbướctạomodule § Module cóthamsố §ĐónggóiModule 14
  15. Bài4: Module GiGiớớii tthihiệệuu § Trongjoomla, cácmodule đượctổchức gồmnhiềufile, mỗifile sẽđảmnhậnphần xử lýriêng. – file helper.phpthìcungcấpcácxửlýliên quan đếndữliệu, nghiệpvụ. –thư mụctmpl: chứacácfile php để hiểnthị giaodiện 15
  16. Bài4: Module GiGiớớii tthihiệệuu § Ưu điểm: – Táisửdụngcácxửlýnghiệpvụ, xử lýdữliệu trongfile helper. – Táisửdụngcácgiaodiệntrongthư mụctmpl. 16
  17. Bài4: Module GiGiớớii tthihiệệuu § Ngoàinhữngmodule độclập, Joomlacòn cónhữngmodule liênquan đến component khác, nghĩalàmodule sẽ gửi yêucầuchocomponent xử lý. – Vídụ: module Search củaJoomla. Khingười dùngnhậptừkhóavàclick nútSearch thìyêu cầusẽđượcgửiđếncom_search để xử lý Minh họa 17
  18. Bài4: Module CCáácc bbưướớcc ttạạoo mmoduleodule § Bước1: Khởitạomodule: – Tạocấutrúcmodule – Tạonộidung chofile xml bằngcáchcopy nội dung từ 1 module cósẳnvàchỉnhsửalại. – Nếuphầnxửlýcủamodule khôngliênquan đến cơ sở dữ liệuthìcóthể bỏđifile helper.php 18
  19. Bài4: Module CCáácc bbưướớcc ttạạoo mmoduleodule § Bước2: Viếtxửlýchofile helper.php. File nàychứa1 class cungcấpcácphương thứctruyxuấtdữliệu. Qui ước đặttênclass: mod + TenModule + Helper Vídụ: mod_tin_moi_nhathiểnthị 10 article mớinhấtthìclass cótênlà modTinMoiNhatHelper. Class nàycómột phươngthứcLayTinMoiNhat($so_tin) 19
  20. Bài4: Module CCáácc bbưướớcc ttạạoo mmoduleodule § Bước2: Viếtxửlýchofile helper.php. – Vídụ: mod_tin_moi_nhathiểnthị 10 article mớinhất helper.php setQuery($query); $rows = $db->loadObjectList(); return $rows; } } ?> 20
  21. Bài4: Module CCáácc bbưướớcc ttạạoo MModuleodule § Bước3:Viếtxửlýchofile chính mod_ten_module.php – Xử lýchuẩnbịdữliệu(nếucần) •Thamchiếu đếnfile helper.php. •Gọicácphươngthứccủahelper để lấydữliệu – Chọngiaodiệnhiểnthị: file template nào trongthư mụctmpl đượcdùng để hiểnthị giaodiệnmodule 21
  22. Bài4: Module CCáácc bbưướớcc ttạạoo MModuleodule § Bước3:Viếtxửlýchofile chính mod_ten_module.php mod_tin_moi_nhat.php 22
  23. Bài4: Module CCáácc bbưướớcc ttạạoo MModuleodule § Bước4:thiếtkếcáchìnhthứchiểnthị giaodiệntrongthư mụctmpl. Giaodiện trongfile default.phplàgiaodiệnmặcđịnh tmpl/default.php $row->title "; } ?> 23
  24. Bài4: Module TTạạoo mmododuullee nnâângng caocao § Thựchành – Tạomodule tin mớinhất 24
  25. Bài4: Module TTạạoo mmododuullee nnâângng caocao § Nộidung – Giớithiệu – Cácbướctạomodule – Module cóthamsố 25
  26. Bài4: Module MModulodulee ccóó tthhamam ssốố § Joomlachophéptatạothamsốcho module vàcấuhìnhthamsốnàytrong mànhìnhModule –Edit – Vídụ: 26
  27. Bài4: Module MModulodulee ccóó tthhamam ssốố § TạothamsốchoModule: – Mở file mod_ten_module.xml, bổ sung phầncấuhình thamsốvàotrước – Bổ sung cácthamsố( dùngthẻ param) vàogiữathẻ params. – Vídụ: bổ sung thamsốsốtin chomodule Tin mới nhất 27
  28. Bài4: Module MModulodulee ccóó tthhamam ssốố § TạothamsốchoModule: – Giảithíchcácthuộctínhcủathẻ param •name: tênthamsố •label: tiêu đề •type: kiểudữliệu •default: giátrị mặc định •description: tooltip môtảthamsố 28
  29. Bài4: Module MModulodulee ccóó tthhamam ssốố § Lấygiátrị thamsố: –Trongfile xử lýcủamodule, talấygiátrị tham số như sau: • Đốitượng$paramschứacácthamsố •Dùngphươngthứcget của$params để lấygiátrị thamsố Vídụ: $so_tin= $params->get("so_tin“, 5); 29
  30. Bài4: Module 44 ĐĐóóngng ggóóii MModuleodule § Cấuhìnhcopy file •Bổsung cácthẻ , , như sau: ten_thu_muc ten_file •Vídụ: cấuhìnhcopy file chomodule chủđề tmpl mod_chu_de.php mod_chu_de.xml helper.php 30
  31. Bài4: Module 44 ĐĐóóngng ggóóii MModuleodule § Đểđónggóimodule, tanénnộidung trong thư mụccủamodule thành1 file mod_tenmodule.zip § Module saukhi được đónggói, cóthể cài đặt ở website Joomlakhác 31
  32. Bài4: Module 32