Tải bản đầy đủ (.doc) (34 trang)

Báo cáo đồ án lý thuyết Joomla nhóm 20

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (735.85 KB, 34 trang )

BÁO CÁO ĐỒ ÁN LÝ THUYẾT JOOMLA NHĨM 20
Nhóm thực hiện:20
0612039-Lê Nguyễn Sỹ Cơng
0612203-Nguyễn Duy Linh
0612206-Đồn Huy Linh
0612246-Lê Văn Lập
0612270-Lê Trọng Mạnh

I)Nội dung tìm hiểu
- Lịch sử phát triển và kiến trúc của joomla(Lê Văn Lập-100%)
- Mơ hình MVC trong joomla(Đoàn Huy Linh-100%)
-Các component và module đã xây dựng trên nền joomla(Lê Trọng Mạnh-100%)
-Ứng dụng thương mại điện tử dựa trên mã nguồn mở Joomla : Demo cài đặt,hỗ trợ đa
ngôn ngữ…(Lê Nguyễn Sỹ Công -100%)
-Ứng dụng thương mại điện tử dựa trên mã nguồn mở Joomla : Quản lý tiền tệ, thanh toán,
vận chuyển(Nguyễn Duy Linh-100%)

II)Nội dung từng phần
1)Lịch sử phát triển và kiến trúc joomla
1.1)Joomla là gì ?
Là một hệ quản trị nội dung mã nguồn mở. Joomla! được viết bằng ngôn ngữ PHP
và kết nối tới cơ sơ dữ liệu MySQL,Joomla cho phép người sử dụng đưa thơng tin
của họ lên internet một cách dễ dàng

1.2)Vì sao chúng ta chọn Joomla ?
Chúng ta chọn Joomla vì những ưu điểm của nó trong việc xây dưng và phát triển
website :Tạo một website nhanh chóng , đẹp mắt, nhiền tính năng tích hợp và dễ
quản lí.

1.3)Ứng dụng Joomla
Joomla được ứng dụng vào :




Các cổng thông tin điện tử hoặc các website doanh nghiệp



Thương mại điện tử trực tuyến



Báo điện tử, tạp chí điện tử




Website của các doanh nghiệp vừa và nhỏ



Website của các cơ quan, tổ chức phi chính phủ



Website các trường học



Website của gia đình hay cá nhân ...

1.4)Lịch sử phát triển Joomla

Joomla! là "sản phẩm anh em" với Mambo giữa tập đoàn Miro của Úc (hãng đang
nắm giữ Mambo), với phần đơng những người phát triển nịng cốt.
Ban đầu cơng ty Miro của Úc đã phát triển Mambo theo dạng ứng dụng mã nguồn
đóng. Đến tháng 4 năm 2001, cơng ty đã thơng qua một chính sách bản quyền kép,
nghĩa là phát hành Mambo theo cả giấy phép GPL.
Mọi thứ vẫn tiến triển bình thường cho đến trước khi xảy ra tranh chấp về mặt pháp
lý vào năm 2003. Vụ việc dẫn tới ý tưởng Mambo cần phải được bảo vệ bởi một tổ
chức phi lợi nhuận. Nhưng những nhà phát triển khơng hài lịng về cơ cấu của Quỹ
tài trợ Mambo. Andrew Eddie, người lãnh đạo nhóm phát triển, trong một lá thư
gửi cộng đồng[4], đã chia sẻ những lo lắng của mình về Quỹ tài trợ Mambo và mối
quan hệ của nó tới cộng đồng. Ơng viết: "...Chúng tơi cho rằng tương lai của
Mambo nên được quản lý, điều chỉnh bởi những yêu cầu của người sử dụng và khả
năng của những nhà phát triển. Trong khi đó, Quỹ tài trợ Mambo lại được thiết kế
nhằm trao quyền điều khiển cho Miro, một thiết kế ngăn cản sự hợp tác giữa Quỹ
tài trợ và cộng đồng...". Bởi vậy vào ngày 17 tháng 8 năm 2005, toàn bộ đội phát
triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làm việc với phiên bản
4.5.3.
Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software Freedom Law
Center - SFLC), 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức
phi lợi nhuận khác lấy tên là Open Source Matters, để hỗ trợ về mặt tổ chức, pháp
lý và kinh phí cho dự án mã nguồn mở còn chưa được đặt tên của họ. Cùng lúc đó,
nhóm phát triển cũng lập một website lấy tên OpenSourceMatters để phân phối
thông tin tới những người sử dụng, những người phát triển, những người thiết kế và
cộng đồng Joomla nói chung. Người đứng đầu dự án chính là Andrew Eddie.
Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn OpenSourceMatters, hầu hết
các bài viết cho diễn đàn đều khuyến khích và đồng tình với hành động của Nhóm
Phát triển. Tin trên đã nhanh chóng được đăng tải trên các tạp chí newsforge.com,
eweek.com và ZDnet.com.



Trong một thơng báo của Eddie 2 tuần sau đó, các nhóm đã được tổ chức lại và
cộng đồng Joomla! tiếp tục tăng trưởng. Tới ngày 1 tháng 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.5)Phiên bản Joomla
Hiện Joomla! có 2 dịng phiên bản chính:

• Joomla! 1.0.x: Phiên bản thế hệ 1
Phiên bản phát hành đầu tiên: Joomla! 1.0.0 (ngày 15 tháng 9
năm 2005)
 Phiên bản phát hành mới nhất: Joomla! 1.0.15 (ngày 22 tháng 2
năm 2008)


• Joomla! 1.5.x: Phiên bản thế hệ 2
Các phiên bản cũ (giai đoạn phát triển): Joomla! 1.5 beta,
Joomla! 1.5 RC1, Joomla! 1.5 RC2, Joomla! 1.5 RC3, Joomla!
1.5 RC4
 Phiên bản phát hành mới nhất: Joomla! 1.5.11 (ngày 03 tháng 06
năm 2009)


• Dịng phiên bản 1.0.x
 Phiên bản đầu tiên của Joomla! là phiên bản Joomla! 1.0 (hay
Joomla! 1.0.0) có nguồn gốc từ Mambo 4.5.2.3 (đã bao gồm
thêm nhiều bản vá bảo mật và sửa lỗi).
 Các phiên bản tiếp theo có dạng 1.0.x
 Điểm mạnh của Joomla! 1.0.x: Có một số lượng rất lớn các
thành phần mở rộng (module/component); thành phần nhúng

(mambot); giao diện (template).

• Dịng phiên bản 1.5.x
 Phiên bản Joomla! 1.5 là phiên bản cải tiến từ Joomla! 1.0.x (phần
mã được viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử như cũ)
được coi như Mambo 4.6. Joomla! 1.5 tiếp tục duy trì một giao diện
người sử dụng đơn giản .
 Cả Joomla! 1.5 và Mambo 4.6 đều hỗ trợ đa ngơn ngữ. Joomla! thì
sử dụng file định dạng ".ini" để lưu các thông tin chuyển đổi ngơn
ngữ, cịn Mambo thì sử dụng file định dạng ".gettext". Joomla 1.5
hỗ trợ tất cả các ngơn ngữ có tập ký tự được biểu diễn bằng bảng
mã UTF-8.


 Joomla! 1.5 cũng bao gồm các đặc tính mới như các mơ hình chứng
thực (LDAP, Gmail...), hỗ trợ mơ hình khách-chủ xml-rpc. Nó cũng
hỗ trợ các trình điều khiển cơ sở dữ liệu dành cho MySQL 4.1+
(trên nền PHP 5) và tăng cường hỗ trợ cho MySQL 5, cũng như hỗ
trợ các loại cơ sở dữ liệu khác.
 Điểm mạnh của Joomla! 1.5: Phần quản trị Website có sử dụng
cơng nghệ Web 2.0, một số tính năng được cải tiến hơn so với
Joomla 1.0.x.

1.6)Tham khảo




2)Mơ hình MVC trong Joomla
Component là một thành phần mở rộng lớn nhất và phức tạp nhất của Joomla CMS. Các

component có thể xem như là các ứng dụng con và nếu joomla là một hệ điều hành thì các
component là các ứng dụng desktop. Ví dụ component nội dung (com_content) là một ứng
dụng mini xử lý tất cả các vấn đề về nội dung được trả lại như thế nào mỗi khi có yêu cầu
duyệt nội dung được đưa ra. Một component có hai thành phần chính: phần quản trị và
phần trên site. Phần trên site là phần được sử dụng để tải về các trang khi được triệu gọi
trong quá trình hoạt động của một website thơng thường. Phần quản trị cung cấp giao diện
để cấu hình, quản lý các khía cạnh khác nhau của component và được truy cập thông qua
ứng dụng quản trị của Joomla
Bắt đầu từ phiên bản Joomla 1.5.x hoặc các phiên bản sau này, Joomla đã đưa vào một
framework mới, mang lại những thuận tiên rất lớn cho những người phát triển. Các đoạn
code giờ đây rất dễ dàng để kiểm tra và khá rõ ràng. Framework này đưa ra một mẫu thiết
kế mới, thiết kế MVC (Model-View-Controller) trong Joomla.
Model-View-Controller (gọi tắt là MVC) là một mẫu thiết kế phần mềm được dùng để
tổ chức các đoạn mã theo cách mà việc xử lý dữ liệu và biểu diễn dữ liệu tách rời nhau.
Điều này tạo ra tiền đề cho hướng tiếp cận sau này khi mà việc xử lý dữ liệu được nhóm
vào trong một section, khi đó giao diện hay q trình tương tác với người dùng bao quanh
dữ liệu có thể được định dạng và tùy biến lại mà không phải lập trình lại việc xử lý dữ liệu
nữa.

2.1 – Model: là thành phần của component đóng gói dữ liệu cho ứng dụng. Nó thường
cung cấp các thủ tục để quản lý, thao tác dữ liệu theo một cách nào đó, trong đó có thêm
các thủ tục để lấy dữ liệu từ model. Có thể là bổ sung (insert), loại bỏ (delete) hay cập nhật
(update) thơng tin về một trường nào đó trong cơ sở dữ liệu (CSDL). Theo cách này, nếu
một ứng dụng chuyển đổi sang việc sử dụng một file bình thường để lưu trữ thơng tin của
nó thay vì sử dụng CSDL thì chỉ có thành phần Model là thay đổi cịn các thành phần View
và Controller là khơng đổi.


2.2 – View: là một thành phần của component được sử dụng để trả lại dữ liệu từ model
theo cách phù hợp với tương tác. Đối với ứng dụng web, view thông thường là các trang

HTML để trả lại dữ liệu. View lấy dữ liệu từ Model (dữ liệu này được chuyển qua View
tới Controller). Sau cùng là đưa dữ liệu vào trong template (dữ liệu này sẽ hiển thị với
người dùng). View khơng làm thay đổi dữ liệu, nó chỉ hiển thị dữ liệu lấy từ Model mà
thôi)
2.3 – Controller: Controller chịu trách nhiệm phản hồi các hành động của người dùng.
Trong các ứng dụng web, một hành động của người dùng thông thường là một yêu cầu tải
trang. Controller sẽ xác định yêu cầu gì được người dùng đưa ra và phản hồi thích hợp
bằng việc yêu cầu Model tính tốn dữ liệu phù hợp và chuyển từ Model vào View.
Controller không thể hiện dữ liệu từ Model, nó kích hoạt các phương thức trong Model để
hiệu chỉnh dữ liệu và sau đó chuyển từ Model sang View để hiển thị dữ liệu
Trong Joomla, mơ hình MVC được hỗ trợ thông qua 3 lớp JModel, JView và
Jcontroller.

Cấu trúc tổ chức thư mục của một tcomponent

1. feedback.php – đây là tập tin chính của component, nó nhận kiếm sốt và xác định
sự kiểm soát đến các controller khác.
2. controller.php – đây là tập tin quản lý chính, phản hồi lại yêu cầu của user.


3. controllers (folder) – thư mục chứa các điều khiển cần thiết của component.
Category.php : quản lý phân loại feedback
Feedback.php : quản lý feedback
4. models (folder) – thư mục chứa tất cả các model cần thiết cho component
5. views (folder) – thư mục chứa tất cả các view, các thư mục view. Bên trong các thư
mục view này chứa file view và có thể có các thư mục template chứa các layout.
6. tables (folder) – chứa các bảng định nghĩa (table definition)

7. Các file index.php dùng để ngăn cản những người dùng tò mò trong việc liệt kê danh
sách thư mục


Nội dung file index.php :

<html><body bgcolor="#FFFFFF"></body></html>

Cấu trúc thu mục dành cho Admin


2.4)Tham khảo:
/> /> /> />
3)Các component đã xây dựng trên nền joomla
3.1Component.
3.1.1Giới thiệu.
-

Một component sẽ quản lý dữ liệu, thiết lập hiển thị, cung cấp các chức
năng và thực thi các xử lý.

-

Các component hoạt động cùng với các module và các plugin giúp người
dùng có thể hiển thị nội dung một các phong phú đa dạng. Các component
giúp cho Joomla mở rộng các tính năng của nó.

-

Các component tích hợp sẵn trong Joomla:
• Contacts



• Newsfeeds
• Banners
• Web link.
• Polls
• Search.
-

3.1.2)Các component tích hợp trong joomla.

1. Contact.
• Contact Manager cho phép bạn quản lý một danh sách các contact
(liên hệ) trong site. Một khi bạn thiết lập các contact, các visitor sẽ
có thể tìm các thông tin về các user mà bạn đã thiết lập. Như tên, địa
chỉ, sớ điện thoại, cơng ty…
• Các contact được nhóm trong các Category. Giúp quản lý và hiển thị
mợt cách dễ dàng.
• Chi tiết tạo 1 contact.
• Tạo category.


Từ component -> contact -> categories.



Lick chọn new để tạo mới 1 Category.


o

Điền đầy đủ thông tin.

o

Title : tên của category.

o

Access level: mức độ truy cập hoặc xem category này.

o



• New contact.


Từ component -> chọn contacts -> contacts.




Điền các thông tin chi tiết về contact.





Các tham số cho biết các chi tiết thông tin nào được thể
hiện cho người dùng xem.

Sau khi tạo các contact. Muốn edit, delete, publish và unpublish 1

contact. Từ menu con, chúng ta lựa chọn các chức năng ḿn dùng.



Đưa contact lên trang web.
o Tạo 1 menuItem mà bạn muốn hiển thị contacts với các
lựa chọn.

o

Chọn Contact nếu bạn muốn hiển thị 1 contact.

o

Chọn Category nếu muốn hiển thị 1 Category.

o

Và đây là ví dụ khi chọn Category.

2. Newsfeeds.




Contact Manager cho phép bạn quản lý một danh sách các
contact (liên hệ) trong site. Một khi bạn thiết lập các contact, các
visitor sẽ có thể tìm các thơng tin về các user mà bạn đã thiết
lập. Như tên, địa chỉ, số điện thoại, công ty…
Các contact được nhóm trong các Category. Giúp quản lý và

hiển thị một cách dễ dàng.




New category. Tương tự như tạo category trong contact.



New Newsfeed.



Name: tên của newsfeed.



Category: newsfeed tḥc chủ đề nào.



Link: đường đẫn tới feed.



Number of articles: sớ bản tin tới đa khi hiển thị.

3. Poll.



Quản lý danh sách các poll thăm dò mà bạn có thể hiển thị trên
site. Nhằm thu thập thơng tin người dùng…



New poll.


• Từ component chọn poll. Lick chon new để tạo mới 1 poll.

• Options: tạo các lựa chọn cho người dùng đánh giá.
• Lag: thời gian ngắn nhất giữa 2 lần đánh giá.


Sau khi tạo các poll. Bạn dùng các module đưa các poll này lên
cho người dùng đánh giá. Muốn xem thống kê kết quả đánh giá
như thế nào, ta làm như sau.
• Bạn tạo 1 menuItem trong 1 menu nào đó. Với lựa chọn.


• Sau khi bạn tạo poll layout. Khi lick vào menuItem này ta
được.


4. Web links.


Tạo category tương tự như đã trình bày.




New web links.




Name :Nhập tên web link là tên sẽ xuất hiện trên site.



Category : Chọn category mong mốn.



URL: Nhập địa chỉ web link.



Description: Thêm đoạn nhỏ mô tả.



Order: Sắp xếp thứ tự các web links.



Target : Điều hướng trình duyệt khi mở liên kết.




Sau khi tạo các web link, bạn ḿn đưa các web link này lên
trang web của mình.



Tạo 1 menuItem với lựa chọn.



Tương ứng với các lựa chọn, ta được.




web link category List Layout. Thể hiện list tất cả các Category
public.



List Layout. Thể hiện tất cả các link nằm trong Category mình
chọn.




link Submission Layout: user có quyền submission 1 web link

5. Banner







Component này cho phép bạn hiển thị những banner (hộp quản
cáo) kế tiếp nhau trên site. Những banner có thể hiển thị trên site
đơn giản bằng cách publish banner cùng một lần khi nó đã được
tạo. chỗ đặt chúng phụ thuộc vào tempalate được dùng trên site.
Tạo category. Tương tự như trên.
Tạo các client: tương tự như tạo category.
New banner











I.

Module.

Name: nhập tên cho banner.
Show banner: chọn hiển thị hoặc không hiển thị banner.
Impressions Purchased: Số lần hiển thị. Hoặc chọn
Unlimited: không giới hạn số lần hiển thị.


Click url: Đường dẫn khi lick vào banner.
Reset click : thiết lập lại số lần lick vào banner về 0.
Banner image selector : Chọn hình ảnh làm banner. Trước tiên
bạn phải upload file ảnh vào thư muc banner trong media
manager
Muốn hiển thị các banner này lên trang web. Xem phần
module banner.


3.2)Module
3.2.1)Giới thiệu các module.











Modules thường được dùng để hiển thị những thơng tin khác nhau và những
tính năng tương tác trong tồn bộ site Joomla của bạn.
Một Module có thể chứa hầu như bất kì thứ gì từ những văn bản đơn giản,đến
HTML, đến những ứng dụng hoàn toàn độc lập của các hãng thứ ba. Những
Module cũng có thể hiển thị nội dung tương tác, như các poll (thăm dò ý
kiến), những tagboard, tin mới nhất, tin khẩn và nhiều nữa. Các Site Module
khác với các Administrator Module bởi vì chúng hiển thị những nội dung

trong Front-end của site trong khi nhưng Admini Module liên quan đến các
tác vụ và/hoặc những tính năng khác nhau của Administrative (hoặc Backend). Các Module có thể được tạo bởi bạn (costom/user module) hay được tải
về và cài đặt. Quản lý cac module luôn luôn làm trong Administrator Vào
Modules - Module
Manager trên thanh Menu. Ở đó bạn có thể cài đặt/tháo bỏ một module và
chỉnh sửa nhứng thiết lập phổ biến như là: tên, những trang nó xuất hiện, vùng
đặt nó, và cấp độ truy cập. Giới hạn chỉ trình bày các module liên quan đến
site.
Các module tích hợp trong joomla. Archived Content : Kho lưu. Popular : ưu
chuộng. Newsflash: tin khẩn. Syndicate:Đăng tin. Sections: phân loại.
Statistics: Thống kê. Wrapper : trình bao boc.

Màn hình quản lý các module được tạo.


3.2.2)Cách tạo 1 sớ module



Menu.

• Từ Module manager chọn new -> Menu.
• Chi tiết các thơng tin menu.


• Menu Style: ba kiểu dáng menu được cung cấp với Joomla. Vertical –
đứng, Horizontal – ngay và Flat List – danh sách phẳng.


• Menu name: lựa chon menu mà bạn muốn hiển thị.

• Menu selection: với các lựa chọn ḿn hiển thị menu này khi lick vào các
menu được đánh dấu.
• Position: vị trí trên template mà bạn muốn đưa menu này lên.
• Ví dụ về các kiểu menu.



Banner


Ở trên chúng ta đã tạo các banner. Nhưng chưa hiển thị lên trang web.
Bây giờ chúng ta tạo module banner để đưa các banner lên các vị trí trên
trang web.



Tương tự tạo menu. Chọn new và lick chọn banner.



Điên đầy đủ thơng tin cho banner này.



Position: chọn vị trí cho banner này hiển thị.




Access level: Mức độ hiển thị. Public – ai củng có thể xem. Registered –

đăng nhập mới xem được.



Sau khi tạo xong. Banner đã được đưa lên trang web.


2. Latest News



Hiển thị các item mới nhất. Nằm trong section và category.
Tương tự như trên chúng ta chọn Lastest News.







Title : tiêu đề cho latest news.
Show title: hiện hay ẩn Title.
Position : lựa chọn vị trí muốn thể hiện Latest news.
Order: thứ tự thể hiện trong Position.
Access level : lựa chọn ai có thể xem.


×