Tải bản đầy đủ
PHẦN 1. TỔNG QUAN VỀ JOOMLA

PHẦN 1. TỔNG QUAN VỀ JOOMLA

Tải bản đầy đủ

9 năm 2005 tên mới của dự án đã được thông báo cho khoảng 3000 người theo dõi đội
Phát triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla 1.0.
1.3. Tại sao phải chọn Joomla?
Tại sao lại chọn Joomla CMS ? liệu có thể tin tưởng được, Joomla có đủ
mạnh? nếu chưa đọc bạn hãy đọc bài viết giới thiệu về Joomla bạn sẽ biết Joomla
tuyệt vời như thế nào .
Joomla là một hệ thống quản trị nội dung (CMS – Content Management
System) mã nguồn mở dùng ngôn ngữ PHP và cơ sở dữ liệu MySQL.
Joomla là một sân chơi, giao lưu học tập hoàn toàn miễn phí, tồn tại dựa trên sự
hỗ trợ, tham gia phát triển của tất cả mọi người, những người yêu thích Joomla và
những người muốn góp phần nhỏ kiến thức của mình thúc đẩy sự phát triển CNTT Việt
Nam .
Hiện nay đang phát triển song song với Joomla là DotNetNuke, Dotnetnuke là
một portal mã nguồn mở viết trên công nghệ .Net hay còn gọi DotNetNuke là một
Portal mã nguồn mở, có nhiều tính năng gần giống như Joomla, nhưng nó phát triển
rộng hơn. Để biết rỏ giữa Joomla và DotNetNuke như thế nào, chúng ta làm một phép
so sánh :
− Giá thuê host Joomla rẻ hơn (DotNetNuke phải chạy trên Windows server
tốn tiền hơn Joomla chạy trên Linux server).
− Cộng đồng Joomla lớn hơn (bạn cứ thử gõ "DotNetNuke" trên Google rồi
sau đó gõ Joomla trên Google sẽ có kết quả ngay ấy mà).
− Các phân luồng thông tin và phân quyền trong Joomla rõ ràng hơn, dễ sử
dụng hơn với người cập nhập thông tin.
− Tuy nhiên Joomla không thể quản trị cho các site có cơ sở dữ liệu lớn.
1.4. Kiến trúc Joomla
Joomla được phát triển theo kiến trúc 3 tầng hệ thống:

5

Hình 1.1. Cấu Trúc Joomla
− Tầng dưới cùng là mức nền tảng, chứa các thư viện và các plugin (còn được
biết với tên gọi mambot).
− Tầng thứ hai là mức ứng dụng và chứa lớp JApplication. Hiện tại tầng này
gồm 3 lớp con: JInstallation, JAdministrator và JSite.
− Tầng thứ ba là mức mở rộng. Tại tầng này có các thành phần (component),
mô đun (module) và giao diện (template) được thực thi và thể hiện.
JApplication: Lớp này đại diện cho ứng dụng Joomla và được thực hiện như
một nhà máy qui định mọi ứng dụng giữ những đối tượng. Lớp này bao gồm các lớp
con như: JInstallation, JAdministrator và JSite.
Mambot (Plug-in): Là các chức năng được bổ sung thêm cho Com, các
Mambot này sẽ can thiệp, bổ sung vào nội dung của trang Web trước hoặc sau khi nó
được hiển thị. Mambot có thể được cài đặt thêm vào Web Site. Hay nói cách khác
Mambot là phương tiện giao tiếp với component.
1.4.1. Cấu trúc của gói cài đặt Component
Component (Com): Là thành phần chính của trang Web, nó quyết định đến
chức năng, hình thức, nội dung chính của mỗi trang Web. Com có thể có thêm Mod để
hỗ trợ cho việc hiển thị các chức năng và nội dung của Com. Com có thể được cài đặt
thêm vào Web Site. Thông thường sau khi cài đặt Joomla! có sẵn các Component:
Banners (quản lý các bảng quảng cáo), Contacts (quản lý việc liên hệ giữa người dùng
với Ban quản trị Web Site), Search (quản lý việc tìm kiếm), News Feeds (quản lý các

6

tin tức), Polls (quản lý việc bình chọn, ý kiến của người dùng), Web Links (quản lý các
liên kết ngoài Web Site) và các Com quản lý nội dung của trang Web.
1.4.2. Cấu trúc của một Component
Backend thông thường sẽ gồm những file cơ bản sau:
+ 1 file admin.yourcom.php,
+ 1 file admin.yourcom.html.php
+ 1 file toolbar.yourcom.php
+ 1 file toolbar.yourcom.html.php.
Frontend sẽ gồm 2 file cơ bản (thông thường): 1 file yourcom.php, 1 file
yourcom.html.php.
Chú ý: không nhất thiết một component của bạn phải hoặc chỉ bao gồm các file
trên, các file bắt buộc là admin.yourcom.php và yourcom.php (folder chứa com cả
trong frontend và backend sẽ là com_yourcom). Ngoài ra bạn có thể có các file khác
(vd yourcom.class.php chẳng hạn), các folder, các file .js, file ảnh... tùy thuộc vào mức
độ bạn cần ở com này và mức độ bạn hiểu.
Một file .XML để phục vụ cho việc cài đặt khi bạn đóng gói. File XML này sẽ
mang tất cả các thông số về Tên com; tên tác giả, địa chỉ email, license ... (optional).
Mục đích chính của file này là khai báo các file trong frontend và backend (đường dãn
đầy đủ của các file này) để upload khi cài đặt, khai báo các query tạo và insert database
(nếu bạn phải thêm database) và các query uninstall
Một điểm quan trọng là phải hiểu các object, class, function... cơ bản trong
joomla thì mới sử dụng được chúng để viết (ví dụ như object về database...).
Khi đóng gói thì nhớ ở dạng .zip, .tar nếu ở dạng .zar thì joomla ko hiểu đc. Nếu
chưa đóng gói được thì làm manual bằng cách insert trong database và copy các file
vào các folder tương úng (không khuyến cáo sd cách này).
1.4.3. Cấu trúc của gói cài đặt Module
Module (Mod) Là bộ phận mở rộng thêm chức năng cho Web Site, các Mod
này có các chức năng khác nhau, được hiển thị trên trang Web tại các vị trí qui định và
7

có thể thay đổi được. Một trang Web có thể hiển thị nhiều Mod giống và khác nhau,
Mod có thể được cài đặt thêm vào Web Site.Thông thường sau khi cài đặt Joomla! có
sẵn các Module: Main Menu (menu chính), Top Menu (menu phụ, nằm ngang), Search
(hiển thị công cụ tìm kiếm), Poll (hiển thị bảng bình chọn, lấy ý kiến), Newsflash (hiển
thị các bản tin nổi bật), Hit Counter (hiển thị số lượng truy cập Web Site), Banners
(hiển thị các bảng quảng cáo)...
Thông thường một Mod sẽ gồm có 2 file chính là .php (chương trình) và file
.xml (thông số cài đặt), ngoài ra có thể có thêm thư mục ảnh, Java Script... hỗ trợ thêm
cho Module.
File.xml (Chứa thông số cài đặt)

8

1.4.4. Cấu trúc của gói cài đặt Template (Temp)
Template: Là giao diện, khuông dạng, kiểu mẫu, hình thức được thiết kế để
trình bày nội dung của trang Web và có các vị trí định sẵn để tích hợp các bộ phận,
thành phần của trang Web. Joomla! cho phép cài đặt và thay đổi Temp cho Web Site
hay cho từng trang Web khác nhau một cách dễ dàng.
Một gói cài đặt template Joomla gồm các file bắt buộc sau:
− index.php
− templateDetails.xml
− template_css.css hoặc template.css
− template_thumbnail.png
− các thư mục và file khác
File "index.php"
9

File này gồm các mã lệnh PHP, thẻ , thẻ và các bảng
hoặc các thẻ
để định vị các module và tạo nên bố cục của template.
File "templateDetails.xml"
Được sử dụng trong quá trình cài đặt. File này chứa các thông số về template
và giúp Joomla! biết được trong quá trình cài đặt cần tạo các thư mục và truyền các
file css, php, ảnh nào lên thư mục templates.
File "template_css.css" hoặc "template.css"
Joomla 1.0.x sử dụng file template_css.css còn Joomla 1.5 sử dụng file
template.css. Đây chính là CSS chính của Joomla. File này kết hợp với index.php để
tạo nên template.
File "template_thumbnail.png"
File này chính là ảnh chụp minh họa của template. Nó giúp bạn dễ hình dung
khi lựa chọn template hoặc trong phần quản trị hoặc ở mặt tiền của Website (nếu bạn
cho phép mọi người có thể tùy chọn template).
Các thư mục và file khác
Ngoài các file chính nói trên trong gói cài đặt template có thể có thêm thư
mục CSS để chứa các file CSS bổ sung, thư mục ảnh để chứa các ảnh được sử dụng
cho template, thư mục javascript để chứa các javascript (nếu có)...
 Đưa Component, Module và Template tích hợp vào Joomla
Để có thể tích hợp component, module và template vào Joomla ngoài việc dựa
vào chuẩn cấu trúc của từng phần, kiến trúc của Joomla mà còn theo một số phương
pháp sau:
Các com, mod, template được tạo ra phải nén dưới dạng file.zip khi đó mới
được cài đặt vào.
Các com, mod, temp phải phù hợp với từng phiên bản của Joomla.
Dùng lệnh Installation tương ứng với com, mod, temp để cài đặt.
Sau khi đã cài đặt thành công thì kích hoạt com, mod, temp để có thể chạy ứng
dụng bằng cách Publish.
10

1.5. Ứng dụng của Joomla
Ứng dụng Joomla trong nhiều lĩnh vực như:
− Trang Web của các tổ chức hoặc của các cổng thông tin (Portal).
− Thương mại điện tử.
− Trang Web cho các công ty cỡ nhỏ.
− Ứng dụng cho các cơ quan hành chính.
− Trang Web cho các trường học và nhà thờ.
− Trang Web cá nhân và gia đình.
− Các cổng thông tin cộng đồng.
− Trang Web báo điện tử và tạp chí.
− Và nhiều ứng dụng khác…
Ngoài các vấn đề là mã nguồn mở miễn phí, khả năng bảo mật cao, dễ dàng sử
dụng, còn điều gì tuyệt vời hơn đằng sau khiến cho Joomla phát triển mạnh và được
nhiều người yêu thích như vậy ? với Joomla việc xây dựng (lập trình) thêm các thành
phần, module, các chức năng cho nó là một việc rất dễ dàng đối với các lập trình viên,
do đó Joomla có rất rất nhiều các chức năng mở rộng được viết bởi các nhà lập trình
trên khắp thế giới, và hầu hết tất cả các ứng dụng, thành phần này đều được chia sẻ
miễn phí, đó chính là điều tuyệt vời nhất.
Hiện nay Joomla phát triển theo 2 dòng phiên bản: dòng phiên bản Joomla 1.0.X
(ổn định) và dòng phiên bản Joomla 1.5.X (đang phát triển).

11