3. I. GIỚI THIỆU JOOMLA FRAMEWORK
Là thành phần quan trọng trong kiến trúc của
joomla CMS 1.5 và 1.6.
Được thiết kế theo kiến trúc hướng đối tượng
hiện đại nhờ đó giúp cho lõi (core) joomla
được dễ dàng bảo trì và mở rộng.
Từ giữa tháng 4 năm 2011 joomla framework
được đổi tên lại thành Joomla! Platform, phát
triển song song với Joomla! CMS.
3
5. II. KIẾN TRÚC JOOMLA FRAMEWORK(TT)
I. Tầng Khung( Framework layer):
1. Framework (Khung): Bao gồm chính Joomla
Framework với các lớp được nhóm lại theo chức năng sử
dụng.
2. Libraries(Thư viện): Các thư viện cần thiết cho Joomla
Framework hoặc các thư viện do người lập trình có thể
thêm vào.
3. Plugins (Các thành phần bổ trợ): Mở rộng các chức
năng có sẳn trong trong Framework. Hầu hết các plugin
là thành phần mở rộng hướng sự kiện, có thể gắn vào các
chức năng , lớp để lắng nghe các sự kiện mà Joomla ném
ra bằng cách sử dụng bộ điều phối sự kiện toàn cục.
5
6. II. KIẾN TRÚC JOOMLA FRAMEWORK(TT)
II. T ng ng d ng(Application layerầ ứ ụ ):
Tầng ứng dụng bao gồm các ứng dụng mở rộng cho Joomla
Framework. Ứng dụng là một đối tượng toàn cục được sử
dụng để xử lý các yêu cầu.Trong Joomla 1.5 đã bao gồm 4
ứng dụng sau:
1.Jinstallation: Chịu trách nhiệm cài đặt joomla trên một
máy chủ web và sẽ bị xóa khi quá trình cài đặt hoàn thành.
2.Jadministrator: Chịu trách nhiệm quản trị back-end.
3.Jsite: Chịu trách nhiệm cho front-end website.
4.XML-RPC: Hỗ trợ quản trị joomla từ xa.
6
7. II. KIẾN TRÚC JOOMLA FRAMEWORK(TT)
III. Tầng mở rộng(Extension layer):
Bao gồm 3 thành phần mở rộng cho Joomla Framework và các
ứng dụng của nó.
1.Components
2.Modules
3.Templates
7
8. II. KIẾN TRÚC JOOMLA FRAMEWORK(TT)
1. Components:
Component là m t lo i m r ng c b n c a joomla. Nóộ ạ ở ộ ơ ả ủ
có th là m t ng d ng nh th ng đ c hi n thể ộ ứ ụ ỏ ườ ượ ể ị ở
trung tâm n i dung c a website.ộ ủ
Có th hình dung joomla nh là m t “h đi u hành “vàể ư ộ ệ ề
component gi ng nh các ch ng trình ng d ng ch yố ư ươ ứ ụ ạ
trên “h đi u hành” Joomla.ệ ề
M t component th ng có 2 ph n chính administratorộ ườ ầ
part và site part.
1. Ph n “site part” đ c dùng đ hi n th n i dung cho cácầ ượ ể ệ ị ộ
trang đ c g i khi ho t đ ng bình th ng.ượ ọ ạ ộ ườ
2. Ph n “administrator part” cung c p giao di n dùng đ c uầ ấ ệ ể ấ
hình và qu n lý các component thông qua giao di n qu nả ệ ả
tr c a joomla.ị ủ 8
9. II. KIẾN TRÚC JOOMLA FRAMEWORK(TT)
2. Modules:
Module là thành phần mở rộng gọn nhẹ và
linh hoạt được sử dụng để biểu diễn nội dung
của trang web.
Những module thường là những mảnh nhỏ
được bố trí xung quanh một thành phần trên
một trang điển hình. Mỗi module được gán
bởi mỗi menu item. Vì vậy chúng ta có thể
chọn ẩn hoặc hiện module phụ thuộc vào
trang (menu item) của người dùng hiện tại. 9
10. II. KIẾN TRÚC JOOMLA FRAMEWORK(TT)
3. Templates:
Template là m t lo i thành ph n m r ngộ ạ ầ ở ộ
khác c a joomla giúp thay đ i giao di n c aủ ổ ệ ủ
website.
Có 2 lo i template:ạ
Front-end Templates
Back-end Templates
10
11. III.XÂY DỰNG COMPONENT MỞ RỘNG
JOOMLA FRAMEWORK
Xây d ng componentự
Component được xây dựng trên kiến trúc MVC ( Model – View –
Controller). Được kế thừa từ lớp Jmodel, Jview, Jcontroller của joomla
theo cấu trúc sau:
11
12. III.XÂY DỰNG COMPONENT MỞ RỘNG
JOOMLA FRAMEWORK (TT)
Xây d ng componentự
1. Xây d ng model k th a t l p JModel.ự ế ừ ừ ớ
jimport(‘joomla.application.component.model’);
Class HelloModelHello extends JModel {
function getSomeText () {
return ‘some text’;
}
}
12
13. III.XÂY DỰNG COMPONENT MỞ RỘNG
JOOMLA FRAMEWORK (TT)
Xây d ng componentự
2. Xây d ng View k th a t l p JView.ự ế ừ ừ ớ
jimport(‘joomla.application.component.view’);
Class HelloViewHello extends JView {
function display($tpl = null) {
$model = &$this->getModel();
$sometext = $model->getSomeText();
$this->aasignRef (‘sometext’, $sometext );
parent::display($tpl);
}
}
13
14. III.XÂY DỰNG COMPONENT MỞ RỘNG
JOOMLA FRAMEWORK (TT)
Xây dựng component
1. Xây dựng Controller kế thừa từ lớp JController.
jimport(‘joomla.application.component.controller’);
Class HelloController extends JController {
function display () {
parent::display();
}
}
14
15. V. KẾT LUẬN
JOOMLA FRAMEWORK
Thiết kế theo mô hình huớng đối tuợng MVC.
Dễ dàng mở rộng và phát triển.
Linh hoạt trong nghiệp vụ và phát triển.
Dễ dàng bảo trì.
Tiết kiệm chi phí sản xuất phần mềm.
15
17. Tài li u tham kh oệ ả
[1] Learning Joomla Extension Development.
[2] Mastering Joomla 1.5 Extension and Framework Development.
[3] Internet.
C m n!ả ơ
17
Hinweis der Redaktion
Nhin tren mo hinh ta de dang nhan thay EF duoc ke thua tu ADO.NET
Cung cap them mọt so tinh nang de mo hinh hoa du lieu Thanh nhung thuc the dang doi tuong lien ket voi nhau thong qua cac moi quan he