Khóa luận Website trường Đại học công nghệ phiên bản tiếng Anh trên thiết bị di động

ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Nguyn ThThanh Tâm  
WEBSITE TRƯỜNG ĐH CÔNG NGHỆ PHIÊN BN  
TING ANH TRÊN THIT BỊ DI ĐỘNG  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
NI - 2010  
ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Nguyn ThThanh Tâm  
WEBSITE TRƯỜNG ĐH CÔNG NGHỆ PHIÊN BN  
TING ANH TRÊN THIT BỊ DI ĐỘNG  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Cán bộ hướng dn: ThS.Phùng Chí Dũng  
NI - 2010  
TÓM TT NI DUNG  
Mc tiêu của đề tài là xây dng mt phiên bản website trường ĐH Công nghệ  
phiên bn tiếng Anh trên thiết bị di động. Phiên bn này là mt bn rút gn ca  
website, cho phép hin thtt trên thiết bị di động vn bhn chế bởi kích thước màn  
hình. Bắt đầu tvic nghiên cu hthống website trường ĐH Công nghệ, vốn được  
xây dng trên hqun trni dung Drupal. Sau khi nghiên cu các thành phần cơ bản,  
các module quan trng, hthng file giao din ca Drupal thì tiến hành thiết kế  
template cho phiên bn trên thiết bị di động. Trin khai bằng cách cài đặt mt trang  
Drupal mi vi dliệu được ly tphiên bn gc và hin thlại theo template đã thiết  
kế. Kết quả, đã xây dng thành công phiên bn trên thiết bị di động cho website  
trường ĐH Công nghệ vi tên min riêng. Tuy nhiên, hthống chưa có chức năng tự  
nhn din thiết btruy cập để điều hướng sang tên miền đó.  
MC LC  
Chương 1.  
Tng quan vDrupal ............................................................................2  
1.1. Gii thiu chung.............................................................................................2  
1.1.1.  
1.1.2.  
1.1.3.  
1.1.4.  
1.1.5.  
Drupal là gì? .........................................................................................2  
Lch s..................................................................................................2  
Các tng kthut ..................................................................................3  
Chức năng.............................................................................................4  
Nguyên tc............................................................................................7  
1.2. Các khái nim cơ bn......................................................................................7  
1.2.1.  
1.2.2.  
1.2.3.  
1.2.4.  
1.2.5.  
1.2.6.  
1.2.7.  
1.2.8.  
Nhân.....................................................................................................7  
Block....................................................................................................8  
Hook.....................................................................................................9  
Node.....................................................................................................9  
Taxonomy...........................................................................................12  
Path ....................................................................................................14  
User....................................................................................................16  
Hthng file.......................................................................................17  
1.3. Hthng module ..........................................................................................20  
1.3.1.  
1.3.2.  
Các module hthng ..........................................................................21  
Các module đóng gói quan trọng.........................................................22  
1.4. Hthng giao din........................................................................................24  
1.4.1.  
1.4.2.  
1.4.3.  
1.4.4.  
1.4.5.  
Tng quan vphát trin giao din .......................................................24  
Regions...............................................................................................25  
Hthng file trong giao din...............................................................26  
Các file template.................................................................................27  
Các file CSS .......................................................................................35  
1.5. Kết lun........................................................................................................36  
Chương 2.  
Phiên bn website dùng Drupal trên thiết bị di động ...........................37  
2.1. Đặt vấn đề ....................................................................................................37  
2.2. Định hướng gii pháp ...................................................................................37  
2.2.1.  
2.2.2.  
2.2.3.  
Multisite .............................................................................................37  
Thiết kế template ................................................................................38  
Module Mobile Plugin ........................................................................52  
2.3. Kết lun........................................................................................................52  
Chương 3. Website trường ĐH Công nghệ phiên bn tiếng Anh trên thiết bdi  
động…………………………………………………………………………………53  
3.1. Giao din......................................................................................................53  
3.2. Cài đt..........................................................................................................54  
3.2.1.  
3.2.2.  
Cài đt multisite..................................................................................54  
To trang ch......................................................................................55  
3.3. Kết qu.........................................................................................................55  
LI MỞ ĐẦU  
Ngày nay, điện thoại di động đã trnên phbiến, vi sphát trin ca mng 3G  
thì vic sdng thiết bị di động để truy cp web trnên dễ dàng hơn bao giờ hết. Truy  
cp web bng thiết bị di động va tin li li va nhanh chóng nên nhiều người đang  
chọn cách này để truy cp web. Tuy nhiên, các trang web thường được thiết kế phù  
hp vi vic hin thtrên máy tính, có màn hình rng và htrtối đa các tiện ích kèm  
theo. Còn vi thiết bị di động, vi màn hình nhvà hu hết không htrJavascript  
hay Flash Player thì thường gặp khó khăn trong việc hin th. Hơn nữa, vi nhng  
thông tin qung cáo kèm theo skhiến cho dung lượng ti vrt ln, vừa gây độ trễ  
ln trong vic ti trang web va tn kém khi mà hu hết ngưi dùng sdụng gói cước  
tính tiền theo dung lượng và tốc độ ca mng 3G cũng không lớn. Tt cnhững điều  
đó đòi hi phi có mt phiên bn riêng ca trang web dành cho thiết bị di đng.  
Không nm ngoài những trường hợp trên, website trường ĐH Công nghệ phiên  
bn tiếng Anh cũng chỉ htrợ cho người dùng truy cp tmáy tính. Nhn thy nhu cu  
truy cp web qua thiết bị di động ngày càng tăng, để htrtối đa cho người dùng, cn  
phi có mt phiên bn dành riêng cho thiết bị di động. Chính vì vậy em đã la chn và  
nghiên cứu đề tài “Website trường ĐH Công nghệ phiên bn tiếng Anh trên thiết  
bị di động”. Website được xây dng da trên phiên bản đầy đủ dành cho desktop, sử  
dng hqun trni dung Drupal. Khoá lun ca em strình bày gồm 3 chương:  
Chương 1: Tổng quan vDrupal  
Chương 2: Phiên bn website dùng Drupal trên thiết bị di đng  
Chương 3: Website trường ĐH Công nghệ phiên bn tiếng Anh trên thiết bdi  
động  
Em xin chân thành cảm ơn sự giúp đỡ tn tình ca ThS.Phùng Chí Dũng trong  
quá trình thc hiện đề tài.  
1
Chương 1.  
Tng quan vDrupal  
1.1. Gii thiu chung  
1.1.1. Drupal là gì?  
Drupal là một khung sườn phát triển phần mềm hướng module, một hệ quản trị  
nội dung miễn phí và mã nguồn mở.  
Cũng giống như các hệ quản trị nội dung hiện đại khác, Drupal cho phép người  
quản trị hệ thống tạo và tổ chức dữ liệu, tùy chỉnh cách trình bày, tự động hóa các tác  
vụ điều hành và quản lý hệ thống những. Drupal có cấu trúc lập trình rất tinh vi, dựa  
trên đó, hầu hết các tác vụ phức tạp có thể được giải quyết với rất ít đoạn mã được  
viết, thậm chí không cần. Đôi khi, Drupal cũng được gọi là "khung sườn phát triển ứng  
dụng web", vì kiến trúc thông minh và uyển chuyển của nó.  
Drupal được chạy trên rất nhiều môi trường khác nhau, bao gồm Windows, Mac  
OS X, Linux, FreeBSD, OpenBSD và các môi trường hỗ trợ máy chủ  
web Apache (phiên bản 1.3+) hoặc IIS (phiên bản 5+) có hỗ trợ ngôn ngPHP (phiên  
bản 4.3.3+). Drupal kết nối với cơ sở dữ liệu MySQL hoặc PostgreSQL để lưu nội  
dung và các thiết lập.  
1.1.2.  
Lch sử  
Năm 2000, các kết nối Internet thường xuyên mc cao vi các sinh viên trường  
Đại hc Antwerp, do đó, Dries Buytaert và Hans Snijder thiết lp mt cu ni không  
dây gia ký túc xá sinh viên ca mình để chia skết ni modem Hans 'ADSL gia tám  
sinh viên. Đây là mt vic cc kxa xti thời điểm đó, nhưng vn có sthiếu sót:  
không có phương tiện để tho lun hay chia snhững điều đơn giản.  
Nó truyn cm hng cho Dries làm vic trên mt trang web tin tc nhvi mt  
built-in hội đồng qun trweb, cho phép các nhóm bạn bè để li mi ghi chú khác về  
2
tình trng ca mạng, thông báo nơi họ đã ăn tối, hay để chia smt smc tin tc  
đáng chú ý.  
Các phn mềm không có tên cho đến ngày sau khi Dries chuyn ra sau khi tt  
nghip. Nhóm quyết định đưa các tuyến ni bộ trang web để hcó thgiliên lc, tiếp  
tc chia snhng phát hin thú v, và những đoạn tường thut cuc sng cá nhân ca  
h. Trong khi tìm kiếm mt tên min phù hp, Dries đặt tên min 'drop.org' sau khi  
ông thc hin mt lỗi đánh máy để xem tên “dorp.org” vn còn. Dorp là tHà Lan cho  
'làng', được coi là mt tên phù hp cho các cộng đồng nh.  
Một khi drop.org được thành lp trên mng, khán gicủa nó đã thay đổi khi các  
thành viên bắt đầu nói vcác công nghweb mi, chng hạn như kiểm duyt, cung  
cấp, đánh giá, và phân phối chng thc. Drop.org ttbiến thành một môi trường thử  
nghiệm cá nhân, thúc đẩy bi các cuc tho lun và dòng chy ca ý tưởng. Các cuc  
tho lun vcác công nghệ web đã được thử ra trên drop.org chính nó như là mới bổ  
sung cho các phn mm chy các trang web. Chỉ sau đó, vào tháng 1 năm 2001, mà  
Dries quyết định phát hành phn mm phía sau drop.org như "Drupal". Mục đích là để  
cho phép người khác sdng và mrng nn tng thnghiệm để nhiều người hơn có  
thkhám phá những con đường mới để phát trin. Cái tên Drupal, phát âm là "droo-  
puhl," có ngun gc tcách phát âm tiếng Anh ca ttiếng Hà Lan "druppel," có  
nghĩa là "th".  
1.1.3.  
Các tng kthut  
Mc tiêu thiết kế ca Drupal bao gm cvic có thchy tt trên các tài khon  
web hosting giá rvà có thmrng ti các trang web phân phi ln. Mc tiêu ban  
đầu là sdng công nghphbiến nht, và sau này là coding cn thn, cht ch. Các  
tng kthut ca Drupal được minh ha trong hình 1-1.  
Hình 1-1. Các tng kthut ca Drupal  
3
Hệ điều hành nm mc thp trong tng mà Drupal không quan tâm nhiu.  
Drupal chy tt trên bt khệ điu hành nào có htrPHP.  
Máy chủ web được sdng rng rãi nht vi Drupal là Apache, mc dù các máy  
chweb khác (bao gm cMicrosoft IIS) cũng có thể đưc sdng. Bi vì lch slâu  
dài ca Drupal vi Apache, Drupal vi file .htaccess được bo mt khi cài đặt  
Drupal. Clean URLs-có nghĩa là loi bnhng du hi, du và, hoc ký tự đặc bit  
khác bng cách sdng thành phn mod_rewrite ca Apache. Điều này đặc bit quan  
trng bi vì khi di chuyn tmt hthng qun lý ni dung hoc tcác tp tin tĩnh,  
các URL ca ni dung không cn phải thay đổi. Clean URL có sn trên các máy chủ  
web khác bng cách sdng khả năng ghi lại URL ca web server.  
Giao din Drupal vi các lp tiếp theo của stack (cơ sở dliu) thông qua mt  
lớp cơ sở dliu nh. Lp này xlý các truy vấn SQL để có thsdụng cơ sở dliu  
các nhà cung cp khác nhau mà không cn viết li code. Các cơ sở dliu thnghim  
rng rãi nht là MySQL và PostgreSQL, mc dù htrcho Microsoft SQL Server và  
Oracle đang tăng lên.  
Drupal được viết bng PHP. Vì PHP là mt ngôn ngdhc, có rt nhiu  
chương trình PHP được viết bởi người mi bắt đầu. Chất lượng code của người mi  
bắt đầu đã khiến cho PHP mt uy tín. Hơn na, PHP cũng có thể được sdụng để viết  
code. Tt ccode ca nhân Drupal đều tuân thnghiêm ngt các tiêu chun code và  
được xem xét kỹ lưỡng qua quá trình mã ngun m. Đối vi Drupal, rt ddàng hc  
PHP vì có mt cộng đồng luôn sẵn sàng giúp đỡ những người mi bắt đầu. Và nhng  
ngưi mi bắt đầu nhận được thông tin phn hi tcộng đồng giúp nâng cao kỹ năng  
ca h.  
1.1.4.  
Chức năng  
1.1.4.1. Chức năng chung  
Collaborative Book - Giúp thiết lập một "quyển sách" và cho phép nhiều người  
cùng đóng gói nội dung, tổ chức dữ liệu.  
Clean URL - Drupal dùng mod_rewrite của Apache để tạo các URL thân thiện  
với cả các bộ máy tìm kiếm và người dùng.  
Module - Các module đóng gói từ cộng đồng mở rộng tính năng của nhân  
Drupal.  
Online help - Hệ thống trợ giúp trực tuyến ngay trên trang web.  
4
Open source - Mã nguồn của Drupal hoàn toàn miễn phí dưới giấy phép  
GNU/GPL 2.  
Cá nhân hóa - Có sẵn ngay trong nhân Drupal. Cả nội dung lẫn cách trình bày  
đều có thể cá nhân hóa theo các tiêu chuẩn được người dùng đặt ra.  
Hệ thống phân quyền theo vai trò (role based) - Có thể tạo ra các vai trò mang  
các quyền hạn khác nhau, sau đó gán những vai trò này cho người dùng.  
Tìm kiếm - Mọi nội dung đều được đánh chỉ mục và có thể tìm kiếm bởi  
module tìm kiếm tích hợp sẵn.  
1.1.4.2. Qun lý thành viên  
Xác thực người dùng - Ngưi dùng có thể đăng kí và xác thực ti trang web,  
hoc thông qua các ngun xác thực khác như Jabber, Blogger, LiveJournal hoặc mt  
site Drupal khác hoc máy chLDAP.  
1.1.4.3. Qun trni dung  
Poll - Module bầu chọn của Drupal cho phép người dùng tạo các bầu chọn và  
gắn vào các trang khác nhau.  
Khuôn mẫu (template) - Hệ thống khuôn mẫu của Drupal phân tách nội dung  
với cách trình bày. Khuôn mẫu được xây dựng trên PHP và HTML chuẩn, có  
nghĩa là không cần phải học một ngôn ngữ khuôn mẫu (templating language)  
nào cả.  
Bình luận theo luồng - Mô hình bình luận theo luồng mạnh mẽ của Drupal cho  
phép bình luận bất cứ nội dung nào. Các bình luận có chia cấp như ở một nhóm  
tin (newsgroup) hoặc diễn đàn.  
Điều khiển phiên bản - Hệ thống điều khiển phiên bản của Drupal cho phép lưu  
giữ thông tin của các lần cập nhật (ai, cái gì, khi nào). Có thể dễ dàng quay lại  
(roll-back) một phiên bản trước đó.  
1.1.4.4. Blogging  
Hệ thống blog đa người dùng - Mỗi người dùng đã ghi danh trong hệ thống đều  
có thể viết blog.  
Hỗ trợ Blog API - Cho phép cập nhật nội dung bằng nhiều công cụ khác nhau,  
thậm chí không cần dùng đến trình duyệt web.  
Content syndication - Xuất nội dung theo dạng RDF/RSS.  
5
News aggregator - Giúp đọc thông tin từ các website khác.  
Permalink - Tất cả các nội dung trong Drupal đều có một URL cố định, giúp  
người dùng có thể dễ dàng liên kết đến mà không sợ nó thay đổi về sau.  
1.1.4.5. Nn tng  
Apache hoặc IIS, Unix/Linux/BSD/Solaris/Windows/Mac OS X đều được hỗ  
tr- Drupal ngay từ đầu đã được xây dựng để tương thích nhiều nền tảng.  
Độc lập với cơ sở dữ liệu - Mặc dù đa số dùng MySQL, nhưng không phải tất  
cả. Drupal được xây dựng trên lớp CSDL trừu tượng (database abstraction layer  
- DAL), hỗ trợ cả MySQL lẫn PostgreSQL. Để hỗ trợ các CSDL riêng của  
mình, người dùng chỉ việc viết phần back-end hiện thực hóa 14 hàm của DAL.  
Đa ngôn ngữ - Nền tảng Drupal sẵn sàng cho việc xây dựng một website đa  
ngôn ngữ.  
1.1.4.6. Qun trvà phân tích  
Phân tích, Theo dõi và Thống kê  
Ghi nhật kí và báo cáo - Các hoạt động quan trọng trên hệ thống đều được ghi  
lại, giúp người quản trị có thể xem lại sau đó.  
Hệ thống quản trị trên web - Tất cả có thể được quản lí qua trình duyệt web.  
1.1.4.7. Tính năng cộng đồng  
Diễn đàn - Diễn đàn thảo luận.  
Blog - Hệ thống blog đa người dùng.  
1.1.4.8. Hiệu năng và khả năng mở rng  
Caching - Cơ chế đệm dữ liệu giúp giảm số truy vấn CSDL, tăng hiệu năng và  
giảm tải server. Hệ thống này đã từng được thử nghiệm cho thấy chúng hoạt  
động rất tốt dưới hiệu ứng "slashdot" (lưu lượng tăng đột biến do trang web  
được giới thiệu ở một website lớn).  
Nén CSS - Drupal hỗ trợ chức năng gom nhóm các tập tin CSS lại thành một  
tập tin nhất, đồng thời cũng loại bỏ các ghi chú bên trong. Khi trình duyệt thực  
hiện chỉ cần thực hiện một yêu cầu để lấy về một tập tin CSS duy nhất.  
Nén Javascript - Từ phiên bản 6.x Drupal còn cho phép gom nhóm và nén các  
tập tin Javascript.  
6
1.1.5.  
Nguyên tc  
Modular và extensible. Mục tiêu của Drupal và cung cấp một nhân gọn, mạnh  
để sẵn sàng mở rộng thông qua các module tự tạo.  
Mã nguồn chất lượng. Chất lượng cao, trình bày đẹp, ghi chú đầy dủ.  
Tuân thủ chuẩn. Drupal hỗ trợ các chuẩn cũ và mới, trong đó có HTML và  
CSS.  
Đòi hỏi ít tài nguyên. Để đạt hiệu quả cao nhất, Drupal khuyến khích các mã  
lệnh tiết kiệm (thí dụ như dùng ít truy vấn CSDL). Drupal cũng chỉ cần rất ít  
đòi hỏi về server, chỉ yêu cầu những cấu hình phổ biến. Cụ thể là Drupal cần  
hoạt động trơn tru với Apache, PHP và MySQL hoặc Postgresql.  
Mã nguồn mở. Drupal dựa trên triết lí mã nguồn mở về sự phát triển cộng tác  
của phần mềm tự do. Drupal xây dựng bằng mã mở, bản thân là mã mở và hỗ  
trợ các dự án mã mở. Cụ thể là Drupal được xây dựng trên ngôn ngữ mở PHP,  
hỗ trợ các CSDL mã mở là MySQL và Postgresql.  
Dễ dùng. Dễ dùng đối với nhà phát triển, nhà quản lí và người dùng.  
Cộng tác. Hỗ trợ các hệ thống chia sẻ thông tin.  
1.2. Các khái niệm cơ bản  
1.2.1. Nhân  
Mt framework đơn giản to nên nhân Drupal. Đây là những gì nhận được khi ti  
Drupal vtdrupal.org. Nhân chu trách nhim cung cp các chức năng cơ bản sẽ  
được sdụng để htrcác bphn khác ca hthng.  
Nhân bao gm code cho phép hthng Drupal khởi động khi nó nhận được mt  
yêu cu, một thư viện các chức năng phổ biến thường xuyên được sdng vi Drupal,  
và các module cung cp chức năng cơ bản như quản lý người dùng, phân loi, và  
templating như thể hin trong Hình 1-2.  
7
Hình 1-2. Tng quan vnhân Drupal  
1.2.2.  
Block  
Block là đoạn văn bản hoc các chức năng thưng nm ngoài khu vc ni dung  
chính ca mt trang web, chng hạn như trong các sidebar trái hoặc phis, trong  
header, footer, vv. Chn quyn truy cp và vị trí được kim soát trong giao din  
admin, đơn giản hóa công vic ca các nhà phát trin khi to block. Các trang chn cu  
hình  
được  
đặt  
Administer  
>
Site  
building  
>
Blocks  
Block có một tiêu đề và mô tả và được sdng chyếu cho vic qung cáo, code  
snippet, và các chstrng thái, không phi cho phn chính thc ca nội dung, do đó,  
khi không phi là node và không tuân theo các quy tc ca node. Các node có quyn  
kim soát sửa đổi, có thcomment cho nó, RSS feed, và các taxonomy term; chúng  
thường được dành riêng cho các phn ni dung beefier ca mt trang web.  
Regions là các phn của trang web nơi các block được đặt. Region được to ra và  
cài đặt bi giao din (trong file .info ca giao diện) và không được xác định bi các  
block API. Block không được gán vào region nào thì không được hin th.  
Block có các tùy chọn để kim soát những người có thnhìn thy chúng và  
những trang mà nó được hin th. Nếu các module điều tiết được kích hot, các block  
8
không cn thiết cũng có thể được thiết lập để tt tự động trong thi kỳ lưu lượng truy  
cp cao.  
Block được định nghĩa hoặc thông qua giao din web ca Drupal (các block tùy  
biến) hoc lp trình thông qua các block API (module cung cp block). Block liên  
quan đến mt module tviết, hoc bao gm chyếu là mã PHP là nhng ng viên  
xut sắc để sdng block API và được thc hin trong mt module.  
Block có thhin thbt cthgì (chúng được viết bằng PHP và do đó không  
chgii hn nhng gì chúng có thể làm được), nhưng chúng thường đóng vai trò hỗ  
trcho các ni dung chính ca trang web. Ví d, có thto ra mt khi menu tùy  
chnh cho mi vai trò người dùng, hoc có thể trưng bày mt block lit kê các  
comment đang chờ phê duyt.  
1.2.3.  
Hook  
Hook có thể được coi là skin bên trong Drupal. Chúng cũng được gi là các  
hàm callback, vì chúng được xây dng bằng cách đặt tên hàm theo các chun và không  
phi bằng cách đăng ký với mt listerner, chúng không thc sự được gi trli. Hook  
cho phép các module "hook into" nhng gì đang xảy ra trong phn còn li ca Drupal.  
Gismột người dùng đăng nhập vào trang web Drupal. Ti thời điểm người  
dùng đăng nhập, Drupal gi hook user. Điều đó có nghĩa là bt khàm nào cũng được  
đặt tên theo quy ước tên module cng vi tên hook sẽ được gi. Ví d,  
comment_user() trong module Comment, locale_user() trong module Locale,  
node_user() trong module Node, và bt kchức năng khác có tên tương tự sẽ được  
gi. Nếu viết mt module tùy biến gi là spammy.module và bao gm mt hàm được  
gi là spammy_user() gi mt e-mail cho người dùng, hàm này cũng sẽ được gi, và  
ngưi dùng không may snhận được mt e-mail không mong mun mi khi đăng  
nhp. Cách phbiến nhất để khai thác các hàm nhân ca Drupal là thông qua vic  
thc hin ca hook trong các module.  
1.2.4.  
Node  
Mi thứ đều là node, đó là triết lý ca Drupal. Node là kiu dliu nhnht vi  
hai trường dliệu cơ bản nhất đó là title và body để lưu thông tin. Ngoài ra còn có các  
trường thông tin khác như: ngày tháng tạo bài, ngày cp nht, …. Hãy tưởng tượng  
node là mt cái chung nht trong vic lưu nội dung, với hai cái này cơ bản đã lưu đủ  
thông tin ri. Node giống như là dàn bài cho một bài viết vy.  
9
Hình 1-3. Mô hình dliu ca node  
Các kiu ni dung trong Drupal đều có ngun gc tmt loại cơ sở duy nht  
được gi là node. Cho dù đó là một entry blog, mt công thc, hoc thm chí mt  
nhim vdán, các cu trúc dliệu cơ bản là như nhau. Cái hay đằng sau phương  
pháp này chính là khả năng mrng ca nó. Những người phát trin module có thể  
thêm các tính năng giống như xếp hng, comment, tập tin đính kèm, thông tin định v,  
v.v. cho các nút nói chung mà không cn lo lng vvic liu các loi nút là blog, công  
thc, v.v. Người qun trị trang web sau đó có thể trn và kết hp các chức năng theo  
loi ni dung. Ví d, các qun trviên có thchọn để cho phép các ý kiến trên blog  
nhưng không phi công thc nấu ăn hoặc chcho phép ti lên tp tin cho các công vic  
dán.  
Các node cũng chứa một cơ sở tp hp các thuc tính hành vi mà tt ccác loi  
ni dung khác kế tha. Bt knode nào cũng có thể đặt trang chca trang web,  
publish hoặc chưa được publish. Và vì cấu trúc đồng bnày, các giao din qun trcó  
thcung cp mt màn hình chnh sa hàng loạt để làm vic vi các node.  
Mt trang web có thcha nhiu loi ni dung, chng hạn như các trang thông  
tin, các mc tin tc, các cuộc thăm dò, bài đăng trên blog, danh sách bất động sn, vv  
Trong Drupal, mi hng mc ca nội dung được gi là mt node, và mi node thuc  
vmt kiu ni dung duy nhất, trong đó xác định các thiết lp mặc đnh khác nhau cho  
các node ca kiểu, như liệu được công bnode tự động và ở đâu cho phép  
10  
comment. (Lưu ý rng trong các phiên bản trước ca Drupal, kiu nội dung đã được  
biết đến như là các loại node.)  
Khi cài đặt Drupal lần đầu với thông tin cài đặt mặc định, scó hai loi ni dung  
được định nghĩa: "Page" và "Story". Khi kích hot nhân hay module đóng gói khác  
(bng cách truy cp Administer >> Site building >> Module), sthy có các loi ni  
dung khác, cũng có thể to các loi ni dung tùy biến. Đây là danh sách các loi ni  
dung liên kết vi các module nhân Drupal:  
Blog Entry  
Mt blog (viết tt ca weblog) là mt tp chí trc tuyến hoc nht ký, và các  
module blog nhân cho phép người dùng đăng ký trên trang web để to blog riêng ca  
h. Mi entry trong mt blog ca ngưi dùng thuc kiu Blog Entry.  
Trang Sách  
Dác trang sách được thiết kế để là mt phn ca mt cun sách hp tác, kích hot  
bi module Book nhân. Mt ví dvmt cun sách hp tác là tài liệu hướng dn nhà  
phát trin Drupal. Trong các phiên bn cũ của Drupal, chcác node thuc kiu ni  
dung sách mi có thể đưc thêm vào mt cuốn sách, nhưng bây giờ các node thuc bt  
kkiu ni dung nào cũng có thlà mt phn ca mt cun sách.  
Comment  
Comment thc skhông phi là node, do đó, comment vmt kthut không  
phi là mt "kiu ni dung". Bt module Comment cho phép khách truy cp trang web  
thêm comment (thưng là ghi chú ngn và trli các ý kiến khác) vào các node trên  
trang web.  
Diễn đàn  
Mt node Diễn đàn xác định mt chủ đề cho mt cuc tho lun diễn đàn, mọi  
ngưi có thtrli chủ đề này bng cách sdng coment. Node Diễn đàn được tổ  
chc thành các chủ để thông qua mt Taxonomy (danh sách các loi).  
Page  
Kiu ni dung page được kích hot trong Drupal trong cu hình cài đặt mc  
định. Các page thường được sdng cho ni dung tĩnh, có thể (nhưng không bắt buc  
phải) đưc liên kết vào thanh menu chính.  
11  
Thăm dò ý kiến  
Mt cuộc thăm dò là nơi mà một câu hi nhiu la chọn đưc hi, và người dùng  
có thtrli và xem câu trli ca người khác cho các câu hi.  
Story  
Kiu ni dung Story được kích hot trong Drupal trong cu hình cài đặt mc  
định. Các Story thường được sdng cho thông tin có liên quan giảm như thời gian  
qua (như các mục tin tc), từ đó các Story mới hơn thường sẽ được đặt cao hơn các  
Story cũ trong trang.  
Ngoài các loại cơ bản, các loi ni dung tuchnh cũng có thể được to ra bng  
cách vào Administer > Content > Content types > Add content type. Có thể làm điều  
này như một cách để tchc ni dung - ví d, có thcó "Articles" và "News flash"  
như hai kiu nội dung đơn giản trên trang web, thay vì chsdng “Story" cho chai.  
Nếu mun thêm các lĩnh vực cho các kiu ni dung tuchỉnh, cài đặt module  
đóng gói Content Construction Kit (CCK). Tuchnh lĩnh vực được sdụng để lưu trữ  
thông tin bổ sung vượt quá giá trmặc định Drupal (tiêu đề, body, thông tin tác gi,  
thi gian to/cp nht, và tình trng xut bn), ví d, trên mt trang web bất động sn,  
mt kiu ni dung bất động sn niêm yết có thcó các lĩnh vc cho thông tin bsung  
loi tài sn, diện tích đất, vv.  
Cui cùng, mt số module đóng gói định nghĩa kiểu ni dung riêng ca nó.  
1.2.5.  
Taxonomy  
Taxonomy là cách phân loi ca svt. Drupal đi kèm với mt module taxonomy  
cho phép phân loi các nút. Taxonomy phân loi mi thvào category. Schính xác  
khi sdng các từ có liên quan đến hthng taxonomy ca Drupal là rt quan trng.  
12  
Hình 1-4. Mô hình dliu ca taxonomy  
1.2.5.1. Term  
Mt term là nhãn thc tế sẽ được áp dng cho node. Ví d, giscó mt trang  
web có chứa các đánh giá sản phm. Có thxem li tng nhãn vi các term "Bad",  
"OK," hoc "Excellent". Term đôi khi cũng được gọi là tag, và hành động ca các term  
gán cho một đối tượng (như một node xem li sn phẩm) đôi khi được gi là tagging.  
Khi nhìn vào cu trúc dliu, Drupal cho biết thêm mt mức độ trừu tượng cho  
tt ccác term được nhập vào, và đề cập đến chúng trong ni bbi mt sID, không  
theo tên. Ví d, nếu nhp vào các term trước đó, nhưng người qun lý quyết định rng  
t"Poor" là mt ttốt hơn so với "Bad", không vấn đề gì. Bn chcn chnh sa term  
số 1, và thay đổi "Bad" thành "Poor", mi thbên trong Drupal stiếp tc làm vic.  
Khi xác định mt term, có thnhp từ đng nghĩa ca term, từ đồng nghĩa là mt  
term khác cùng ý nghĩa. Các chức năng phân loại bao gm trong Drupal cho phép  
nhp từ đồng nghĩa và cung cp các bảng cơ sở dliu cho việc lưu trữ và mt stin  
ích như taxonomy_get_synonyms ($tid) taxonomy_get_synonym_root ($synonym).  
13  
1.2.5.2. Vocabulary  
Mt vocabulary gm mt tp hp các term. Drupal cho phép kết hp mt  
vocabulary vi mt hoc nhiu loi node. Sliên hlng lo là rt hu ích cho các  
loi qua các biên gii loi nút. Ví d, nếu đã có một trang web mà người sdng có  
thgi các câu chuyn và hình nh vdu lch, có thcó mt vocabulary cha tên nước  
như các term, điều này scho phép xem tt ccác câu chuyn và hình ảnh được gn  
thvi "B" ddàng.  
Vocabulary có thyêu cu hoc không. Nếu một vocabulary được yêu cầu, người  
dùng phi gán mt term cho một node trước khi node được phép submit. Nếu mt  
vocabulary không được yêu cầu, người dùng có thchn term mặc định “None  
selected” khi submit mt node.  
Khi mt vocabulary có mt shu hn các term (có nghĩa là, người dùng không  
ththêm term mới) nó được gi là mt vocabulary được kim soát. Trong mt  
vocabulary được kim soát, term thường được trình bày cho người sdng bên trong  
mt vùng la chn thxung. Tất nhiên, người qun trhoặc người dùng đã được phân  
loi qun lý có thcho phép thêm, xóa, hoc sửa đổi các term.  
Mt tag là mt thgiống như term. Tuy nhiên, t"tagging" thường ngý rng  
ngưi dùng ca trang web to ra các th. Trái ngược vi mt vocabulary được kim  
soát. Thay vào đó, người dùng có thnhp các term riêng ca hkhi submit mt  
node.Nếu mt term chưa nm trong vocabulary, nó sẽ được thêm vào. Khi check box  
Tags trên giao din chnh sa vocabulary được check, giao diện người dùng cho  
vocabulary được trình bày như là một trường văn bản (vi JavaScript tự động hoàn  
chnh được kích hot), chkhông phi là vùng la chn thxung ca mt vocabulary  
được kim soát.  
1.2.6.  
Path  
Trong Drupal, mt đường dn là phn cui ca URL duy nht cho mt chức năng  
cthhoc mt phn ca ni dung. Ví d, một trang có đầy đủ URL là  
http://example.com/?q=node/7, đường dn là node/7. Nếu trang web sdng Clean  
URL, URL đầy đủ trong ví dnày slà http://example.com/node/7; đường dn vn là  
node/7. Vì bí danh URL hoàn toàn có ththay thế nhng gì mà người dùng nhìn thy  
như là URL, các đường dn được tho lun tại đây (vn là cách mà Drupal quyết định  
nội dung nào để hin thị) đôi khi được gi là đường dn ni b.  
14  
Đường dn trong Drupal quan trng vì nhiu màn hình configure trong khu vc  
admin sdng chúng. Ví dụ, khi đang thêm một mc mi cho mt menu, cho Drupal  
biết trang nào mc menu phi trỏ đến bng cách nhập đưng dẫn đến trang.  
Đây là một sví dvề đưng dn có thtìm thy trong mt trang web Drupal:  
node/7  
taxonomy/term/6  
admin/content/comment  
user/login  
user/3  
Có mt số cách để tìm đường dẫn đến mt trang cthtrên mt trang web  
Drupal. Bước đầu tiên là tìm URL ca trang quan tâm:  
Nếu đã biết làm thế nào để điều hướng đến các trang web, có thể đến đó và tìm  
các URL trong thanh URL ca trình duyt.  
Cũng có thdi chut qua mt liên kết đến trang (như trong màn hình  
Administer hoc màn hình Content Administer >> Content manager >>  
Content), và hu hết các trình duyt scho thy URL trong phn status ở dưi  
cùng ca ca strình duyt.  
Đối vi các trang Taxonomy, có thtìm thy nhng URL trong trang qun lý  
Taxonomy. Nếu đang xem một danh sách term cho mt vocabulary đặc bit,  
mi term nên được liên kết đến mt trang phân loi ca nó. Di chut qua liên  
kết hoc thc hin theo các liên kết để tìm URL ca nó.  
URL tìm thy có thcó nhiu hình thc:  
http://example.com/?q=[something] -- Trong trường hp này, các [something]  
sau q=? là đường dn. Ví d, nếu URL là http://example.com/?q=node/7, đường  
dn là node/7.  
/[something] -- Trong trường hp này, các [something] sau đường dẫn cơ bản  
ca trang web Drupal là đường dn . Ví d, URL có thlà  
dn cả hai trường hp đều là node/7.  
15  
1.2.7.  
User  
Có một vài bước liên quan đến cài đặt Drupal. Trong mt số bước, thông tin  
"ngưi dùng" là cn thiết cho mt loại đặc bit ca "tài khon". Mt “ngưi dùng”  
không liên kết vi mt cá nhân ba trong bn kiu ngưi dùng được đề cp ở đây. Để  
giúp phân loi cho tng loại người dùng, câu hi cần đt ra là "Ai ..." để ánh xngưi  
dung” đến ngưi thc s.  
1.2.7.1. Computer User  
Người cài đặt Drupal phi có quyn truy cập vào máy tính, nơi đặt bcài. Nếu  
cài đặt Drupal cc btrên máy tính ca riêng mình, thì “computer user” là chính  
mình. Nếu cài đặt Drupal ti mt máy chtừ xa như một máy chweb công ty, thì các  
tài khon computer user có thể đưc gi là mt trong nhng cái sau đây (không phải là  
một danh sách đầy đủ):  
Tài khoản đăng nhập web hosting  
Đăng nhập FTP  
Đăng nhập Cpanel  
Đăng nhập Secure shell (SSH)  
Những người có liên quan đến computer user là ai? Trong mt số trường hp,  
như máy tính của riêng mình hay mt slần đăng nhập FTP, nhng “người dùng” này  
là nhng cá nhân. Trong trường hp khác, chng hạn như mt tài khoản đăng nhập  
web hosting hoc Cpanel, mt “người dùng” (hoc “tài khon”) tên/mt khẩu được sử  
dụng để đăng nhập vào để kim soát tài khon và có thể đưc chia sbi nhiều người.  
1.2.7.2. Database User  
Mt cài đặt Drupal yêu cu mt cơ sở dliệu để chy. (MySQL và PostgreSQL  
là các chương trình cơ sở dliu tt nht htrợ tương thích với Drupal). Các cơ sở dữ  
liu thường có cơ chế kim soát truy cp và yêu cầu "người dùng" vi các cho phép có  
quyền thay đổi cơ sở dliu (thêm/xóa/sa dliu, to bng biu, vv.) Một cài đặt  
Drupal cn phi có toàn quyn kiểm soát cơ sở dliệu, do đó, khi bn thiết lp mt  
trang web mi ca Drupal, bn (hoc công ty web hosting) to ra mt database user  
với các đặc quyền đầy đủ và sau đó cho tên người dùng và mt khẩu để cài đặt Drupal  
để Drupal scó toàn quyn kiểm soát cơ sở dliu. Các thông tin database user được  
lưu trữ trong tp tin settings.php hoc trong sites/default hoặc thư mục con khác nhau  
ca các trang web trong trình cài đặt Drupal.  
16  
Database user là ai? “database user” không phải là người. Đây là một tài khon  
to ra vi các phn mềm cơ sở dliệu để cung cp cho Drupal quyn kim soát cơ sở  
dliu.  
1.2.7.3. User/1  
"User/1", còn được gi là “bo trì” tài khon hoc "siêu tài khoản ngưi dùng" là  
tài khoản Drupal được nhc nhở để to ra ngay sau khi đã cài đặt thành công mt trang  
web Drupal mi. Tài khon này là duy nht cho trang web (nó không có bt cứ điu gì  
để làm vi Drupal.org hoc bt ktrang web khác). Tài khon này khác vi tt ccác  
ngưi dùng khác trong một cài đặt Drupal bi vì nó không có gii hn quyn hn  
("quyn hn" được gi là "kim soát truy cập" trong Drupal 5 và trước đó). "User/1",  
trong Drupal 6 và trước đó, cũng là tài khon duy nht có thkhi chy các script  
update.php cn chy sau khi nâng cp phn mm.  
User/1 là ai? User/1 không nên được liên kết vi mt cá nhân, mà là với người  
hoc những người có trách nhiệm đgiphn mm được cp nht trên trang web.  
Tt nht là tránh vic to ra ni dung trang web vi user/1. Sdĩ như vậy là vì nó  
lúng túng khi trách nhim bo trì trang web được thc hin bi User/1 cn phi thay  
đổi cho một người mi nếu User/1 ban đầu đã viết ni dung vn còn cn phải được  
liên kết vi h. Các ni dung được viết bi tác giả ban đầu sau đó được chỉ định cho  
mt tài khoản người dùng mi. Tốt hơn là to tài khon thứ hai ngay sau khi cài đặt  
thành công các trang web.  
1.2.7.4. User/2 và tt cnhững người dùng khác  
User/2 và tt cả người dùng đăng ký khác trên trang web Drupal, mỗi người dùng  
nên được kết hp vi một người cá nhân. Người sdụng đăng ký có thể được giao cho  
vai trò, mà được quyn cho phép người dùng khác nhau truy cập khác nhau để qun lý  
trang web và thêm ni dung.  
1.2.8.  
Hthng file  
Tìm hiu vcấu trúc thư mục mặc định cài đặt Drupal scho biết mt vài  
thông tin quan trng như nơi nên đặt các module và giao din ti vvà làm thế nào để  
có cu hình cài đặt khác nhau cho Drupal. Drupal mặc định có mt cu trúc thhin  
trong hình 1-5.  
17  
Hình 1-5. Cấu trúc thư mục mặc định ca mt bcài Drupal  
Thông tin chi tiết vmi thành phn trong cấu trúc thư mục như sau:  
Thư mục includes chứa các thư viện cho các hàm phbiến mà Drupal sử  
dng.  
Thư mục misc lưu JavaScript và các icon, hình nh cn thiết cho quá trình cài  
đặt Drupal.  
18  
Thư mục modules cha các module nhân, vi mỗi module trong thư mục ca  
nó. Tt nhất không nên đụng đến bt cthgì trong các thư mục này (hoc bt  
kỳ thư mục nào khác ngoi trprofiles sites). Thêm module trong thư  
mc sites.  
Thư mục profiles cha nhng cu hình cài đặt khác nhau cho mt trang web.  
Nếu có nhng cu hình khác ngoài cu hình mặc định trong thư mục con này,  
Drupal shi muốn cài đặt theo cu hình nào khi lần đầu cài đặt Drupal. Mc  
đính chính của mt cu hình cài đặt là bt các nhân mặc định và các module liên  
quan mt cách tự động. Ví dmt cu hình e-commerce stự động cài đặt  
Drupal như một nn tng e-commerce.  
Thư mục scripts cha nhng script cho vic kim tra cú pháp, tối ưu code,  
chy Drupal tdòng lệnh, và điều khiển các trường hợp đặc bit vi cron.  
Thư mục sites cha nhng sửa đổi Drupal trong cài đặt, module và giao din.  
Khi thêm nhng module cho Drupal tngun các module đóng gói hoc tviết,  
chúng sẽ được đặt trong sites/all/modules. Nó gitt cnhững thay đổi  
ca Drupal trong một thư mục đơn. Trong thư mục sites scó một thư mục con  
có tên là default lưu những cài đặt mặc định cho trang Drupal –  
default.settings.php. Bcài Drupal ssa những cài đặt ban đầu này  
da trên thông tin cung cp và viết trong file settings.php. Thư mục mc  
định thường được sao chép và đổi tên thành URL ca trang web bởi người qun  
trị,  
do  
đó  
những file  
cài  
đặt  
cui  
cùng sẽ  
nm  
Hình 1-6. Thư mục sites có thể lưu toàn bộ sửa đổi Drupal  
Thư mục sites/default/files không được to bi Drupal theo mặc định,  
nhưng nó sẽ cn thiết cho việc lưu bất kỳ file nào được upload lên trang web và  
19  
cung cp mt cách tun t. Mt vài ví dlà sdng mt logo tùy biến, bt chc  
năng user avatar, hoặc upload bt kkiu dliệu media khác. Thư mc con này  
yêu cu quyền đọc và ghi bởi web server mà Drupal đang chạy trên nó. Bcài  
đặt Drupal stạo ra thư mục con này nếu có thvà skim tra quyn truy cp  
chính xác đã được thiết lập hay chưa.  
Thư mục themes cha các template engine và các giao din mặc đnh cho Drupal.  
Các giao din ti vhoc ttạo không nên để ở đây, nên để trong  
sites/all/themes.  
cron.php được sdụng để thc hin nhim vụ định k, chng hạn như các  
bảng cơ sdliu và ct ta tính toán thng kê.  
index.php là đim chính phc vyêu cu.  
install.php là đim chính cho trình cài đặt Drupal.  
update.php cp nht mô hình cơ sở dliu sau khi mt phiên bn Drupal  
được cp nht.  
xmlrpc.php nhn yêu cu XML-RPC và có thxóa mt cách an toàn vic  
trin khai mà không có yêu cu XML-RPC.  
robots.txt là bthc thi mặc đnh ca robot loi trtiêu chun.  
1.3. Hthng module  
Drupal là framework tht sự hướng module. Chức năng được bao gm trong các  
module, có thể được kích hot hay vô hiu hóa (mt smodule cn thiết không thbị  
vô hiu hóa). Các tính năng được thêm vào mt trang web Drupal bng cách bt các  
module hin có, cài đặt module được viết bi các thành viên ca cộng đồng Drupal,  
hoc viết module mi. Bng cách này, các trang web mà không cần tính năng nhất  
định có thchy, trong khi nhng cái cn nhiều hơn có thể thêm nhiều tính năng như  
mong mun. Điều này thhin trong hình 1-3.  
Sbsung các loi ni dung mới như công thức nấu ăn, blog post, hoc các file,  
và thêm các hành vi mới như e-mail thông báo, peer-to-peer publishing, tp hp và  
được xlý thông qua các module. Drupal làm cho vic sdụng đảo ngược ca mu  
thiết kế điều khiển, trong đó chức năng module được gi bi framework ti thời điểm  
thích hp.  
20  
Hình 1-7. Vic kích hot các module bsung cho nhiu chức năng hơn  
Các module hthng  
1.3.1.  
Aggregator: Aggreagator có khả năng đi lấy tin RSS từ các website khác, lưu  
li trong CSDL, ri trình bày ra giao diện người dùng. Các ngun tin RSS có  
thể đưc phân mc theo 'Category'.  
Block : Block (danh t) là mt phn trong Drupal, chúng ta có thxem, mi  
block là mt khi ni dung bao gm các thuc tính:  
Blog : Khi module này được webmaster kích hoạt, người sdng website có  
thto các blog entry cho mình. Thí d, user 'ABC' có mã sthành viên là 13,  
thì http://your-website.com/?q=blog/13 slit kê các blog entries ca user  
'ABC' này.  
21  
BlogAPI: Khi người dùng website ca bn dùng mt công cụ nào đó để to mt  
blog entry txa (qua Google Docs chng hn). BlogAPI sẽ đứng ra đm nhn  
vai trò trung gian -- nhn dliệu, lưu vào CSDL.  
Book: Với module này, người dùng có thto các trang nội dung có đánh chỉ  
mc rõ ràng. Module này rt thích hợp để làm brochure, tài liệu hướng dn, ...  
Hin ti module này cần đưc ci tiến nhiều để đáp ứng nhu cu thc tế.  
Color: Được gii thiu trong Drupal phiên bn 5.x vi mục đích tạo ra btheme  
Garland uyn chuyn.  
Comment: Khi xem mt trang nội dung (node, như một blog entry, mt article  
chng hạn), người xem có thgi ý kiến phn hi ca mình. Module này rt cn  
cho các website cần tương tác từ phía người dùng.  
Contact: Ngưi dùng có thgửi mail cho người qun lý website hay cho mt  
thành viên nào đó của website nhchức năng mà module này cung cấp.  
Drupal: Module này cung cp khả năng đăng nhập liên website. Giswebsite  
1 và website 2 cùng sdng module Drupal, thì thành viên ca website 1 có thể  
đăng nhập website 2 và ngược li.  
Filter: Module này cung cấp các phương thức trình bày khác nhau trên cùng  
một trưng dliu.  
Forum: To diễn đàn thảo lun cho website.  
Help: Các module có phn trợ giúp người dùng, tuy nhiên chkhi bt  
module help lên thì người điu hành mi có thể xem được phn này.  
Legacy: Module legacy cung cp cho vic nâng cp tbản cài đặt cũ. Những xử  
lý giúp các tham chiếu tự đng chuyển hướng đến các trang tbản cài đặt cũ và  
ngăn chặn trang không tìm thy li cho trang web ca bn.  
1.3.2.  
Các module đóng gói quan trng  
1.3.2.1. CCK (Content Construction Kit)  
Trong Drupal mi thứ đu là node. Tuy nhiên thc tế có nhng thcần lưu nhiu  
thông tin hơn node và vì thế có mt khái nim mới đó là kiu ni dung. Kiu ni dung  
là node nhưng có bổ xung thêm mt strường để lưu thêm thông tin. Ví dụ trong bài  
viết bình thường có tiêu đề và ni dung. Tuy nhiên trong mt sbài viết cấp cao hơn  
như trang tin tức cần đưa thêm ảnh cho bài viết, rồi trường video qung cáo, câu hi  
22  
thăm dò, … lúc này có được mt kiu ni dung mi tên là trang tin chng hn. Thì  
trang tin chính là mt kiu ni dung đi tới hai kết lun:  
Kiu nội dung là node nhưng bổ sung thêm mt số trường thông tin khác. Vic  
bổ xung thêm trường thông tin khác này người ta gi là mrng kiu ni dung.  
Dthy mô hình node và kiu ni dung giống như kế tha trong lp trình hướng  
đối tưng. Chúng ta có lớp cha cơ bản nht và lp con chcn bxung thêm thông tin  
tcha là có mt kiếu lp mi. Các kiu ni dung bn cht là node. Tuy nhiên trong  
node có một trường khá quan trọng đi cùng với title và body đó là trường “type”.  
Trưng “type” này giúp phân bit các kiu ni dung và node vi nhau.  
Gia node và kiu ni dung khác nhau bởi các trường dliu bổ xung do đó vic  
bxung này gi là mrng kiu ni dung. Và chúng ta cần có cơ chế mrng kiu  
ni dung. Thc tế có hai cách cơ bản:  
.
Cách thnht là viết code mrng cho kiu ni dung này. Cách này chính là  
cách viết module cho vic thc hin vic này.  
.
Cách thhai là có mt module thc hin vic làm này mt cách trc quan mà  
chcần khai báo mà thôi đó chính là CCK. CCK giúp kiến to ra các ni dung  
khác nhau. Trong Drupal các CCK có rt nhiu. Ví dụ: trường ảnh, trường  
video, trường link, … Có rt nhiu các loi CCK giúp tạo ra đủ các loi ni  
dung khác nhau theo ý thích.  
Đó là vai trò ca CCK, CCK giúp mrng kiu ni dung.  
1.3.2.2. Views  
Views là mt blc có vai trò lc và trình bày ni dung. Vai trò ca Views gm  
hai phần đó là lọc và trình bày ni dung.  
.
.
Lc ni dung: View giúp lc các kiu ni dung theo mt số điều kin đặt ra. Ví  
dcn ly ra 6 bài viết mi nht hoc ly ra các bài viết thuc chủ đề “tin thế  
giới’. Đó là vai trò chính ca Views.  
Hin thni dung: Sau khi lc các ni dung ra, có được danh sách các ni dung  
cn hin th. Tuy nhiên mun trình bày các kiu ni dung này theo các cách  
khác nhau. Ví dmun trình bày dng bng các ni dung, hoc danh sách các  
ni dung. Vai trò thhai ca Views là trình bày các nội dung đã lọc ra được.  
Vic lc các ni dung thì module Views đã htrợ đầy đvà vic hin thmodule  
này cũng đã htr4 dng hin thị cơ bản. Tuy nhiên để to cách trình bày ni dung  
23  
phong phú có thti thêm các module Views bxung khác phc vvic trình bày ni  
dung thật đp ví dụ như module Views Slideshow, Views Tab, …  
1.3.2.3. Panels  
Panels giúp chia nhphn nội dung thành các vùng bé hơn.  
Drupal trình bày giao diện thành các vùng để cha các block - block là các phn  
nội dung. Thường thì mt theme ca drupal có mt số vùng cơ bản: header, footer,  
content, sidebar left, sidebar right. Các vùng này bao quanh vùng ni dung. Ngoài ra  
có ththêm nhiu vùng vào theme tùy ý đó chính là sự uyn chuyn ca Drupal. Tuy  
nhiên, như các trang báo chia vùng nội dung (vùng content) thành các phn nhỏ hơn để  
tin trình bày. Ví dhchia vùng content thành cột trên đầu cha tin nóng, hai ct hai  
bên cha các block có các bài viết đưc phân loi. Panels giúp chia phn ni dung  
thành các phn nhỏ hơn và trên mỗi phần đó chứa các block ni dung.  
1.4. Hthng giao din  
1.4.1.  
Tng quan vphát trin giao din  
Tphiên bn 4.5, hthng giao din của Drupal đã trnên rt uyn chuyn. Cu  
trúc mới được gii thiu, giúp cho vic kết hp các thành phn to nên mt giao din,  
trnên rất đơn giản: bmáy giao din, các khuôn mu, các mảng định dng và các  
đoạn mã PHP.  
Tphiên bn Drupal 4.7, bmáy giao diện được mặc đnh kèm theo vi Drupal  
là PHPTemplate.  
Giao din là mt khái nim trừu tượng, mi giao din có thể được hình thành  
bng các cách khác nhau:  
T(các) tp tin khuôn mu (.tpl.php, .xhtml) cho mt bmáy giao din  
(PHPTemplate, XTemplate). Thí d: Garland, Bluemarine.  
T(các) mảng định dng, nếu như giao diện là mt giao din kế tha. Thí d:  
Minelli, Marvin.  
Ttp tin .theme mã ngun PHP cha các hàm quá ti lên các hàm to giao  
diện ban đầu (theme_*). Thí d: Chameleon.  
Cấu trúc thư mục ca ca các giao din mặc đnh kèm theo ca hthng:  
themes/engines/phptemplate/phptemplate.engine  
themes/garland/page.tpl.php  
24  
themes/garland/style.css  
themes/garland/minelli/style.css  
themes/bluemarine/page.tpl.php  
themes/bluemarine/style.css  
themes/chameleon/chameleon.theme  
themes/chameleon/style.css  
themes/chameleon/marvin/style.css  
Giao din và các khuôn mẫu được đặt trong thư mục con ca chúng, nằm dưới  
thư mục themes. Đối vi các giao diện được đóng gói, nên được đặt dưới thư  
mc sites/all/themes. Các máy giao din squét mỗi thư mục con để tìm các tp tin  
khuôn mu (.tpl.php, .xtmpl). Nếu một thư mục có tn ti tp tin style.css thì thư mục  
con đó cũng được xem như một giao din hp l.  
Có thto ra nhng giao din chbao gm CSS bng cách tạo ra thư mục con  
trong một thư mục ca mt giao diện nào đó, sau đó, tạo mt tp tin style.css trong  
thư mục con va tạo. Đây là cách mà hai giao diện Minelli và Marvin được xây dng.  
Mi giao din cn có mt tp tin screenshot.png trong thư mục ca nó, Drupal sẽ  
trình bày nh chp này màn hình qun lý giao din.  
1.4.2.  
Đối vi mt trang web Drupal điển hình vi cu trúc 3 ct, mặc đnh s5  
regions:  
Regions  
- Header: thường bao gm các thông tin về trang web như tên, logo, slogan,  
banner, v.v.  
- Left sidebar và Right sidebar: thường là vtrí ca các block  
- Content: ni dung ca các node  
- Footer: thường gm thông tin vbn quyn hay các liên kết hu ích khác  
25  

Tải về để xem bản đầy đủ

pdf 64 trang yennguyen 28/06/2025 120
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Website trường Đại học công nghệ phiên bản tiếng Anh trên thiết bị di động", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_website_truong_dai_hoc_cong_nghe_phien_ban_tieng_a.pdf