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

Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal

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 (1.27 MB, 28 trang )

Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
LỜI MỞ ĐẦU
Hiện nay công nghệ thông tin là một phần rất quan trọng trong đời sống, nó góp
phần thúc đẩy kinh tế, không giới hạn khả năng tìm tòi hiểu biết của con người, gắn kết
các quốc gia trên thế giới,v.v… Trong số những lợi ích thiết thực mà công nghệ thông
tin mang lại cho con người không thể không kể đến một hình thức kinh doanh mới trong
môi trường mạng trên cơ sở áp dụng các công nghệ hiện đại đó là thương mại điện tử.
Việc các công ty ,doanh nghiệp bán máy vi tính xác tay thông qua hình thức mạng
Internet là một vấn đề khá mới mẻ ở Việt Nam.Hình thức kinh doanh này khác xa so với
hình thức mua bán cổ điển. Các sản phẩm được trưng bày thông qua các hình ảnh và
thông tin sinh động được trang trí trên một Website.
SVTH: Xixaket Luongvanxay 1 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
CHƯƠNG 1
TỔNG QUAN VỀ ĐỀ TÀI
1.1 GIỚI THIỆU VỀ ĐỀ TÀI
Website ngày càng trở nên phổ biến và có vai trò quan trọng trong việc truyền tải
thông tin trong xã hội hiện nay và trở thành một kênh thông tin, quảng bá và thương
mại hiệu quả của các doanh nghiệp. Chính vì thế, lập trình web đã trở thành một lĩnh
vực khá hấp dẫn của ngành Công nghệ thông tin. Ngôn ngữ lập trình web cũng rất
phong phú và đa dạng, và nổi bật trong đó là các CMS mã nguồn mở liên tục phát triển
trong thời gian gần đây. Các CMS với tính dễ sử dụng, linh hoạt và gọn nhẹ đã trở nên
rất phổ biến với Joomla, Drupal, WorldPress, DotNetNuke Trong đó Drupal là một
trong những CMS được đánh giá tốt nhất và mềm dẻo nhất dành cho người lập trình.
Chính vì vậy tôi đã chọn Drupal để nghiên cứu và phát triển ứng dụng website của
mình trong đồ án này.
Đồ án này được thực hiện trong quá trình tôi xây dựng một website giới thiệu sản phẩm
và bán hàng trực tuyến. Trong đồ án này, em xin được trình bày về
- Những nghiên cứu, tìm hiểu về Drupal
- Quá trình thiết kế xây dựng website
- Tìm hiểu và ứng dụng vào quảng bá website SEO


- Các kết quả đã đạt được và hướng phát triển đồ án
1.1.1 MỤC ĐÍCH CỦA ĐỀ TÀI
- Quản lý khách hàng(thông tin khách hàng,số lượng khách…)
- Xem thông bào về hóa đơn bán hàng,số lượng bán,các sản phẩm bán chạy,các sản
phẩm tôn kho,sản phẩm mới…
- Tư vấn khách hàng trực tuyến khi có yêu cầu của khách.
- Thêm thông tin về công ty,tin tức mới,xóa tin tức cũ…
- Quản trị admin…
- Thay đổi giao diện của trang web…
1.1.2 ĐỐI TƯỢNG NGHIÊN CỨU
- Tìm hiểu, ứng dụng lập trình web và CMS Drupal
- Tìm hiểu về thương mại điện tử và quảng bá website, ứng dụng vào thực tế quảng
bá và bán hàng trực tuyến sàn gỗ
SVTH: Xixaket Luongvanxay 2 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
- Định hướng cho công việc sau này.
1.2 KHÁI NIỆM VỀ THƯƠNG MẠI ĐIỆN TỬ
Thương mại điện tử là các hoạt động kinh tế như mua bán hàng hóa và dich
vụ,quảng cáo, marketing,tư vấn,hỗ trợ kỹ thuật,tìm kiếm thông tin ,thỏa thuận phân
phối, đầu tư, cấp vốn…thông qua mạng điện tử.Môi trường điển tử phổ biến nhất là
mạng máy tình toàn cầu Internet.Thương mại điện tử đang trở thành một cuộc cách
mạng làm thay đổi cách thức mua sắm của con người
Trong thương mại điện tử có ba chủ thể tham gia: Doanh nghiệp(B) giữ vai trò
động lực phát triển TMĐT, khách hàng(C) giữ vai trò quyết định sự thành công của
TMĐT và chính phủ(G) giữ vai trò đinh hướng, điều tiết và quản lý. Từ các mối quan
hệ giữa các chủ thể này ta có các loại hình giao dịch TMĐT: B2B, B2C, B2G, C2C,
C2G Trong đó có ba loại hình giao dịch chính:
+ B2C: giữa doanh nghiệp với khách hàng.
+ C2C: giữa khách hàng với khách hàng.
+ B2B: giữa doanh nghiệp với doanh nghiệp.

1.2.1 Lợi ích của thương mại điện tử
1.2.1.1. Lợi ích của thương mại điện tử đối với doanh nghiệp
- Mở rộng thị trường: Với chi phí đầu tư nhỏ hơn nhiều so với thương mại
truyền thống, các công ty có thể mở rộng thị trường, tìm kiếm, tiếp cận người cung cấp,
khách hàng và đối tác trên khắp thế giới. Việc mở rộng mạng lưới nhà cung cấp, khách
hàng cũng cho phép các tổ chức có thể mua với giá thấp hơn và bán được nhiêu sản
phẩm hơn.
- Giảm chi phí sản xuất: Giảm chi phí mặt bằng,chi phí nhân công.Giảm chi phí
giấy tờ, giảm chi phí chia xẻ thông tin, chi phí in ấn, gửi văn bản truyền thống.
- Chi phí đăng ký kinh doanh: Một số nước và khu vực khuyến khích bằng cách
giảm hoặc không thu phí đăng ký kinh doanh qua mạng. Thực tế, việc thu nếu triển khai
cũng gặp rất nhiều khó khăn do đặc thù của Internet.
- Cải thiện hệ thống phân phối: Giảm lượng hàng lưu kho và độ trễ trong phân
phối hàng. Hệ thống cửa hàng giới thiệu sản phẩm được thay thế hoặc hỗ trợ bởi các
showroom trên mạng.
SVTH: Xixaket Luongvanxay 3 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
- Vượt giới hạn về thời gian: Việc tự động hóa các giao dịch thông qua Web và
Internet giúp hoạt động kinh doanh được thực hiện bất cứ thời gian nào luôn đảm tiêu
chuẩn 24/7
- Giảm chi phí thông tin liên lạc,giao thông vận tải,thời gian trao đổi giữa các
doanh nghiệp
- Các lợi ích khác: Nâng cao uy tín, hình ảnh doanh nghiệp; cải thiện chất lượng
dịch vụ khách hàng; đối tác kinh doanh mới; đơn giản hóa và chuẩn hóa các quy trình
giao dịch; tăng năng suất, giảm chi phí giấy tờ; tăng khả năng tiếp cận thông tin và giảm
chi phí vận chuyển; tăng sự linh hoạt trong giao dịch và hoạt động kinh doanh.
1.2.1.2.Lợi ích của thương mại điện tử đối với người tiêu dùng
- Người tiêu dùng dễ dàng tham khảo thông tin về các sản phẩm và dịch vụ, so
sánh giá cả, chất lượng mẫu mã của nhiều nhà cung cấp trước khi quyết định mua
hàng.

- Người tiêu dùng có thể mua hàng ở bất cứ đâu, vào bất cứ lúc nào, thanh toán
qua mạng và được giao hàng tận nơi(trong điều kiện cho phép), tiết kiệm thời gian, tiền
bạc và công sức.
- Các cá nhân có thể mua bán, trao đổi với nhau các nhu cầu mua bán giữa cá
nhân với cá nhân, các vật dụng cũ, các đồ sưu tầm với những hình thức mới như đấu
giá, bán lẻ trên phạm vi toàn cầu.
- Người tiêu dùng có thể khai thác một nguồn thông tin khổng lồ trên mạng
Internet, dễ dàng tìm ra sản phẩm và dịch vụ phù hợp nhất của các nhà cung cấp ở khắp
nơi trên thế giới
- Với những tiện ích của Internet, người tiêu dùng được hưởng lợi khi sản phẩm
có thể được bán với giá thấp hơn so với các kênh phân phối khác.
- Các dịch vụ như ngân hàng, giáo dục …sẽ có cách phục vụ tiện lợi hơn và đỡ
mất thời gian và công sức của người sử dụng.
1.2.1.3.Lợi ích của thương mại điện tử với xã hội
Hoạt động trực tuyến: Thương mại điện tử tạo ra môi trường để làm việc,
mua sắm, giao dịch từ xa nên giảm việc đi lại, ô nhiễm, tai nạn.
Nâng cao mức sống: Nhiều hàng hóa, nhiều nhà cung cấp tạo áp lực giảm
giá do đó khả năng mua sắm của khách hàng cao hơn, nâng cao mức sống của mọi
người
SVTH: Xixaket Luongvanxay 4 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Lợi ích cho các nước nghèo: Những nước nghèo có thể tiếp cận với các sản
phẩm, dịch vụ từ các nước phát triển hơn thông qua In- ternet và TMĐT. Đồng thời
cũng có thể học tập được kinh nghiệm, kỹ năng được đào tạo qua mạng.
1.3 KHÁI NIỆM BÁN HÀNG TRỰC TUYẾN
Đây là hình thức mua bán xảy ra hoàn toàn tại cửa hàng ảo mà người bán muốn
trưng bày sản phẩm của họ bằng các hình ảnh thực tế sinh động trên một Website.
Người mua có quyền lựa chọn sản phẩm, đặt mua và thanh toán bằng hình thức điện tử.
Sau đó họ sẽ có được những mặt hàng này tại nhà. Hình thức này tận dụng nhiều ưu
điểm như giảm việc chi phí thuê nhân viên, thuế

Có thể nói một điều thuận tiện nhất mà các nhà mua bán đã vận dụng được là tận
dụng tính năng đa phương tiện của môi trường Web, để trang trí trang Web sao cho thật
hấp dẫn và thuận tiện trong việc trưng bày sản phẩm dưới các hình thức khác nhau.
SVTH: Xixaket Luongvanxay 5 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT CMS DRUPAL
2.1 TÌM HIỂU VỀ HỆ QUẢN TRỊ NỘI DUNG (CMS)
2.1.1 Hệ quản trị nội dung:
Cũng được gọi là hệ thống quản lý nội dung hay CMS (Content Management
System) là phần mềm để tổ chức và tạo môi trường cộng tác thuận lợi nhằm mục đích
xây dựng một hệ thống tài liệu và các loại nội dung khác một cách thống nhất. Mới đây
thuật ngữ cũng này được sử dụng cho hệ thống quản lý nội dung của website. Website
sử dụng nền tảng CMS cho phép bạn quản lý nội dung trang web của bạn từ bất kỳ trình
duyệt internet nào. Nền tảng của một CMS Website này được thiết kế ẩn và linh hoạt.
Đây là một giải pháp hoàn hảo cho tất cả mọi đối tượng từ những người sử dụng bình
thường đến các webmaster chuyên nghiệp. Nền tảng của một CMS Website cho phép
một tổ chức hoặc một công ty cực nhỏ đến cực lớn quản lý và hiệu chỉnh nội dung trực
tiếp thông qua công cụ quản trị. Nó rất dễ dàng nâng cấp và phát triển theo xu hướng
phát triển của công ty. Phần quản trị CMS được truy cập thông qua trình duyệt Internet
cho dù bạn ở bất cứ nơi đâu trên thế giới và không cần cài đặt bất kỳ phần mềm nào trên
máy người sử dụng.
2.1.2 Các đặc điểm của CMS:
- Phê chuẩn việc tạo hoặc thay đổi nội dung trực tuyến
- Chế độ Soạn thảo "Nhìn là biết" WYSIWYG
- Quản lý người dùng
- Tìm kiếm và lập chỉ mục
- Lưu trữ
- Tùy biến giao diện
- Quản lý ảnh và các liên kết (URL)

2.1.3 Phân loại: có nhiều kiểu CMS:
- W-CMS (Web CMS)
- E-CMS (Enterprise CMS)
- T-CMS (Transactional CMS): Hỗ trợ việc quản lý các giao dịch thương mại điện
tử.
- P-CMS (Publications CMS): Hỗ trợ việc quản lý các loại ấn phẩm trực tuyến (sổ
tay, sách, trợ giúp, tham khảo ).
SVTH: Xixaket Luongvanxay 6 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
- L-CMS/LCMS (Learning CMS): Hỗ trợ việc quản lý đào tạo dựa trên nền Web.
- BCMS(Billing CMS): Hỗ trợ việc quản lý Thu chi dựa trên nền Web
2.1.4 Một số CMS tiêu biểu:
- DotNetNuke (ASP.Net+VB/C#)
- Drupal (PHP)
- Joomla/Mambo (PHP)
- Kentico CMS (ASP.Net + VB/C#)
- PHP-Nuke (PHP)
- NukeViet (PHP)
- Rainbow (ASP.NET +C#)
- Typo3 (PHP)
- Xoops (PHP)
2.2 KHÀI QUÁT VỀ CMS DRUPAL
Drupal là một khung sườn phát triển phần mềm hướng mô-đun, một hệ thống
quản trị nội dung miễn phí và mã nguồn mở. Cũng giống như các hệ thống 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 phục vụ web Apache
(phiên bản 1.3+) hoặc IIS (phiên bản 5+) có hỗ trợ ngôn ngữ PHP (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.
2.2.1 Lịch sử ra đời và phát triển
Đầu tiên, nó được Dries Buytaert, một lập trình viên mã nguồn mở, tạo ra theo
dạng một hệ thống bảng tin (Tiếng Anh: bulletin board system). Đến năm 2001, Drupal
trở thành một công trình nguồn mở. Drupal, trong tiếng Anh, được chuyển ngữ từ chữ
"druppel" của tiếng Hà Lan, nghĩa là "giọt nước".
SVTH: Xixaket Luongvanxay 7 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Từ tháng 7 năm 2007 đến tháng sáu năm 2008, mã nguồn Drupal đã được tải về
từ website hơn 1,4 triệu lần. Hiện nay, có một cộng đồng rộng lớn đang
giúp đỡ phát triển Drupal.
Tháng giêng năm 2009, Drupal 6.9, phiên bản mới nhất, đã được công bố.
Liên tiếp trong các năm gần đây, Drupal đều giành được những giải thưởng trong
các cuộc bình chọn giữa các CMS:
- CMS nguồn mở danh giá nhất năm 2009 do nhà xuất bản Packt bình chọn, cùng
với giải CMS nguồn mở PHP tốt nhất.
- CMS nguồn mở danh giá nhất năm 2008 do nhà xuất bản Packt
bình chọn.
- CMS nguồn mở danh giá nhất năm 2007 do nhà xuất bản Packt
bình chọn.
2.2.2 Drupal được xây dựng trên nền tảng:
- PHP
- MySQL
- PostgreSQL
- Apache
- Jquery

- XMLRPC
2.2.3 Cấu trúc của drupal:
Drupal là một CMS với rất nhiều thành phần và module những vẫn có cấu trúc
tuân theo mô hình MVC (Model, Controller, View):
SVTH: Xixaket Luongvanxay 8 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Có 5 thành phần chính trong cấu trúc quản lý của drupal: dữ liệu, các module, các
block và menu, phân quyền người dùng và template:
2.2.4 Các ứng dụng phổ biến của Drupal:
- Website thảo luận, website cộng đồng
- Website nội bộ (Intranet), website doanh nghiệp
- Website cá nhân
- Website thương mại điện tử
- Thư mục tài nguyên
- Hệ thống quản lý công trình phát triển phần mềm
- Hệ thống quản lý quan hệ khách hàng
2.2.5 Ưu điểm của Drupal
- Số lượng các module cung cấp cho người lập trình là rất lớn và phong phú: hơn
1500 module cho tất cả các nhu cầu từ phân quyền, diễn đàn, thư viện ảnh, lịch…
- Địa chỉ URL thân thiện với cả người sử dụng và các công cụ tìm kiếm, chính vì
thế giúp làm tăng thứ hạng tìm kiếm của website.
- Permalinks - Tất cả nội dung được tạo ra trong Drupal có một liên kết cố định kết
hợp với nó giúp cho người dùng có thể link tới nội dung một cách tự do mà không sợ
liên kết bị hỏng, một tính năng giúp làm tăng thứ hạng tìm kiếm và số lần xem trang.
- Taxonomy and Tagging – Drupal cho phép bạn phân loại và định thứ bậc cho các
nội dung theo các mục, loại, tác giả… một cách linh hoạt.
- Hệ thống được thiết kế “đa nền”, có thể cài đặt được trên nhiều loại máy chủ cũng
như hệ điều hành.
SVTH: Xixaket Luongvanxay 9 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal

- Drupal được xây dựng để giúp đỡ cho nhà phát triển. Hệ thống hook đa dạng giúp
người lập trình can thiệp vào mọi hoạt động mà không phải sửa bất kì dòng lệnh nào của
nhân hay các phần khác.
3.1 CÀI ĐẶT VÀ ỨNG DỤNG DRUPAL VÀO XÂY DỰNG WEBSITE
3.1.1 Cài đặt Drupal
3.1.1.1 Chuẩn bị cài đặt (ở đây em dùng localhost nên cần cài đặt vào tạo
host cho website):
- Cài đặt localhost.
- Tạo host trên localhost
- Tạo một database cho website trong Mysql.
3.1.1.2Cài đặt:
- Download bộ code của drupal tại />- Sau đó giải nén và copy toàn bộ folder Drupal 6.x vào thư mục mà website trỏ
đến theo đường dẫn khi tạo host.
- Chạy website trên trình duyệt để vào trang cài đặt như hình vẽ:
- Chọn “Install Drupal in English”:
SVTH: Xixaket Luongvanxay 10 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
- Thấy xuất hiện thông báo như hình trên, vào
- folder sites/default/default.settings.php trong thư mục gốc của website, sau đó copy
file default.settings.php đổi tên thành settings.php, lúc này trong thư mục folder
sites/default/ có 2 file default.settings.php và setttings.php. Sau đó quay lại trang cài
đặt và click “Try again” và khai báo thông tin database đã tạo trong trang tiếp theo:
- Sau khi cài đặt xong, hệ thống sẽ yêu cầu thiết lập một số thông tin:
SVTH: Xixaket Luongvanxay 11 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
- Các trường cần nhập bao gồm:
• Thông tin về trang web (Site information): bao gồm tên và địa chỉ mail của website.
• Thông tin của admin: account, email và password.
• Khai báo múi giờ.
- Chọn “Save and continue” để lưu các thiết lập và hoàn tất quá trình cài đặt.

3.2 QUẢN TRỊ NỘI DUNG TRONG DRUPAL
3.2.1 Node
Node là những phần (piece) nội dung riêng biệt, là đơn bị dữ liệu nội dung của
Drupal. Các kiểu nội dung đều kế thừa từ kiểu cơ bản là node. Drupal sẽ gán cho mỗi
node một số ID được gọi là node ID ($nid). Thông thường, mỗi node sẽ có một title để
admin có thể xem danh sách các nội dung của nó.
- Có nhiều kiểu node khác nhau, những kiểu node phổ biến như là : “blog entry”,
“poll”, “book page”…
- Tất cả các kiểu nội dung được xây dựng trên node đều có cùng một cấu trúc dữ liệu
bên dưới giống nhau. Điều này nghĩa là đối với các thao tác trên node, bạn có thể xem
như tất cả các nội dung là giống nhau.
- Việc thực hiện các thao tác trên node rất dễ dàng : tìm kiếm, tạo, chỉnh sửa, quản
lý… tất cả đều được cung cấp sẵn trong Drupal vì tất cả các kiểu nội dung đều là node.
- Các kiểu node đều kế thừa từ node cơ bản và thường thêm vào các thuộc tính dữ liệu
riếng của chúng.
- Node có một số thuộc tính cơ bản sau (chúng được lưu trữ bên trong node và bảng dữ
liệu node_revisions) :
SVTH: Xixaket Luongvanxay 12 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
• nid : ID để nhận biết node
• vid : revison ID của node, cần thiết bởi vì Drupal có thể lưu trữ số lần xem node
• type : mỗi node sẽ có một kiểu node. Vd: blog, story…
• title : một chuỗi dài 128 kí tự.
• body: lưu trữ nội dung của node
• uid : ID user, người tạo ra node. Mặc định, tất cả các node đều chỉ có 1 tác giả.
• status : giá trị 0 nghĩa là chưa công bố (publish), nội dung sẽ được ẩn đi đối với
những người không có quyền “administer nodes”. Giá trị 1 có nghĩa là node đã publish,
nội dung có thể thấy bởi những người có quyền “access content”. Việc thể một node đã
publish có thể được cấm lại bởi hệ thống điều khiến quyền truy cập của Drupal.
• created : thời gian mà node được tạo ra.

• changed : thời gian mà node được thay đổi.
• comment : một số nguyên cho biết trang thái các comment của node. Có thể có
3 giá trị: 0- comment bị disable. Đây là giá trị mặc định khi module comment được bật
lên, 1- không được phép thêm comment, 2- comment có thể được nhìn thấy và user có
thể thêm comment mới (khi enable module Comment thì trường này mới có giá trị).
• promote : một số nguyên xác định khi nào thì thể hiện node ở front-page, có 2
giá trị: 1- node sẽ được thể hiện ở front-page, 0- node không được thể hiện ở front-page.
Trong đó quan trọng nhất là trường “title”, và “body” chứa nội dung của node và trường
“type” chứa kiểu nội dung của node.
3.2.2 Module CCK
Để phân loại node, người ta phân ra các “kiểu nội dung” hay “content type” nghĩa
là phải mở rộng kiểu nội dung từ 1 kiểu node cơ bản thành các kiểu nội dung mới như:
sách, báo, bài viết, blog Để làm việc này ta có thể tự xây dựng module thực hiện việc
mở rộng kiểu nội dung nhưng chúng ta không nên mất công tạo module mới trong khi
drupal đã cung cấp một module rất tốt và trực quan: module CCK. CCK giúp chúng ta
tạo ra các kiểu nội dung khác nhau mà không phải code bằng cách thêm các trường mới
vào node, ví dụ: trường ảnh, trường video, trường link, … Có rất nhiều các loại CCK
giúp ta tạo ra đủ các loại nội dung khác nhau theo ý thích.
Để vào trang quản lý kiểu nội dung, từ trang quản trị, admin click vào mục
“content types”:
SVTH: Xixaket Luongvanxay 13 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Để thêm kiểu nội dung mới, chọn “Add content type”
Sau đó điền thông tin về kiểu nội dung và nhấn Save. Hệ thống sẽ chuyển sang
trang quản lý các trường của kiểu nội dung vừa lưu:
Ngoài các trường cố định như hình trên, người quản trị có thể thêm các trường
tùy thích: có thể tạo mới các trường hoặc thêm một trường đã được tạo ở kiểu nội dung
khác. Sau khi tạo xong một trường, nhấn save để sang trang thiết lập chi tiết cho trường:
SVTH: Xixaket Luongvanxay 14 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal

- Đối với trường file upload, người quản trị có thể quy định đuôi file và kích thước
giới hạn của file đưa lên. Ngoài ra còn có các thiết lập cơ bản cho các trường khác như:
giá trị mặc định (default value).
- Đặc biệt, drupal có cơ chế đưa dữ liệu vào của một trường nào đó bằng cách chèn
vào một đoạn lệnh php.
Sau khi điền đầy đủ các thông tin của trường, nhấn save để lưu lại.
Sau khi tạo xong các trường, có thể dùng tay nắm trong list các trường để
kéo và thả ở ví cần thiết (hình vẽ) rồi nhấn “Save” để lưu lại.
3.2.3 Module taxonomy
Node trong Drupal được quản lí nhờ hệ thống taxonomy cực mạnh, đây cũng là
đặc trưng của Drupal. Người dùng Gmail, Flickr, Wordpress, Yahoo! 360° ắt hẳn quen
với khái niệm “tag” (đôi khi gọi là label), và khái niệm rất hiện đại này đã có trong
Drupal ! Khái niệm tag được gọi là “term” trong Drupal, được tổ chức có cấu trúc (chia
nhiều cấp). Ngoài ra, trong taxonomy còn có khái niệm “vocabulary” cho phép chia term
SVTH: Xixaket Luongvanxay 15 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
thành các lớp không giao nhau. Mỗi “term” có thể là một chủ để hay một mục phân loại
nội dung và “vocabulary” là một chủ đề lớn, phân mục lớn.
Để vào trang quản lý taxonomy, từ trang quản trị, ta click vào “Taxonomy” hoặc
truy cập theo đường dẫn “/admin/content/taxonomy”.
Chọn “Add vocabulary” để thêm một vocabulary mới và “edit vocabulary” để sửa
một vocabulary
Để xem danh sách các term của vocabulary, click vào “List term”, để thêm một
term vào vocabulary, click vào “Add term”. Sau đây là trang “Add term”.
SVTH: Xixaket Luongvanxay 16 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Các thông tin cần điền khi add term:
- Term name - tên term.
- Chú thích cho term
- Term cha: các term trong drupal được quản lý theo sơ đồ cây, mỗi term có thể nằm

trong một vocabulary hoặc nằm trong một term khác (gọi là term cha). Để chọn term cha
khi tạo mới một term, người quản trị chọn mục “Advance options” và chọn term cha
trong “Parents”Nhấn Save để lưu term mới tạo.
Trang list term
Để chỉnh sửa term, chọn “edit”. Người dùng cũng có thể dùng tay nắm để kéo thả
thay đổi thứ tự và vị trí của một term (như hình trên) và nhấn “Save” để lưu lại. Đây là
giao diện rất trực quan và dễ sử dụng cũng như linh hoạt của Drupal, giúp cho người
dùng quản lý và phân mục nội dung rất dễ dàng, mạch lạc.
3.2.4 Quản lý nội dung trong Drupal
Với 3 module cực mạnh đã nêu trên, người dùng đã sẵn sàng cho việc quản lý tất
cả nội dung cho một website nội dung cơ bản. Ngoài ra Drupal còn có rất nhiều các
module hỗ trợ khác như: Module IMCE hỗ trợ upload và chèn hình ảnh vào bài viết
trong drupal, cung cấp công cụ soạn thảo trong drupal Sau đây, chúng ta sẽ tìm hiểu
việc thêm, sửa, xóa nội dung:
3.2.5 Thêm mới nội dung
Từ trang quản trị, click vào “Creat content” rồi chọn kiểu nội dung muốn thêm
mới để vào trang thêm mới nội dung:
SVTH: Xixaket Luongvanxay 17 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Các trường cần nhập sẽ tùy theo mỗi kiểu nội dung. Nhưng tất cả các kiểu nội
dung đều có các mục cơ bản sau:
- Title
- Body
- Authoring information
- Publishing options: chọn “Published” để cho phép hiển thị nội dung (bỏ chọn
mục này để khóa nội dung), chọn Promoted to front page để hiển thị nội dung lên trang
ngoài (mục này dùng để lấy các nội dung ưu tiên khi tìm trong cơ sở dữ liệu và đưa ra
trang chủ).
Với kiểu nội dung được Taxonomy quản lý, khi tạo mới nội dung người dùng cần
chọn “term” trong mục Vocabulary (như trong hình trên) để xác định phân mục chứa nội

dung.
Sau khi nhập đủ các trường yêu cầu của nội dung, nhấn Save để lưu nội dung tạo
mới.
3.2.6 Theo dõi, quản lý nội dung
SVTH: Xixaket Luongvanxay 18 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Từ trang quản trị, click vào “content” để vào trang quản lý nội dung.
Drupal cung cấp công cụ filter khá chi tiết, người dùng có thể lọc các nội dung
theo kiểu nội dung, theo mục (term) hay theo ngôn ngữ. Các bài viết hiển thị sẽ được
sắp xếp theo thứ tự thời gian giảm dần (thời gian khởi tạo hoặc thời gian chỉnh sửa lần
cuối tùy theo thời điểm nào diễn ra gần đây nhất) – các bài viết mới hơn sẽ được hiển
thị trước.
- Người dùng có thể click trực tiếp vào nội dung để xem nội dung. Việc hiển thị nội
dung, module Views (có sẵn khi cài drupal) đã hỗ trợ 4 dạng hiển thị cơ bản. Tuy nhiên
để tạo cách trình bày nội dung phong phú chúng ta có thể tải thêm các module Views bổ
xung khác phục vụ việc trình bày nội dung thật đẹp ví dụ như module Views Slideshow,
Views Tab, …
- Click vào edit để chỉnh sửa nội dung
- Ngoài ra còn các thao tác khác cho phép tác động lên nhiều nội dung được chọn
như: khóa nội dung (unpublish), cho phép (publish), cho phép hoặc không cho phép hiển
thị lên trang chủ (Promote to front page, Demote from front page), xóa nội dung…
3.3 CÀI ĐẶT VÀ GỠ BỎ MODULE CỦA DRUPAL
3.3.1 Module trong drupal
Module là một nhóm những chức năng nhất định, gồm những thuộc tính cơ bản:
- Name: tên chính thức của module, ảnh hưởng trực tiếp đến những hàm kết nối với hệ
thống.
- Display name: tên gợi nhớ, được trình bày ở trang điều hành module.
- Description: giới thiệu ngắn gọn về các chức năng của module, được trình bày ở
trang điều hành module.
- Version: mã số phiên bản của module.

SVTH: Xixaket Luongvanxay 19 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
- Dependencies: tên của module mà module đang thiết kế yêu cầu tới (trong trường
hợp sử dụng hàm từ module khác), nếu có nhiều module thì các module này cách nhau
bởi dấu phẩy. Module không thể được kích hoạt nếu các module được yêu cầu không tồn
tại hoặc chưa được kích hoạt.
- Package: phân nhóm chức năng chứa đựng module.
3.3.2 Cài đặt module:
Sau khi đã có các module cần thiết, chúng ta copy module vào đúng thư mục cài
đặt drupal, có 3 vị trí để đưa module vào:
- path_to_drupal/modules/*******
- sites/your_domain_name/modules/*******
- sites/all/modules/********
Sau đó, đăng nhập bằng account admin và vào trang admin theo đường dẫn
“địa_chỉ_website/admin” . Trong trang admin, click vào module để vào trang quản lý
module:
Trong trang quản lý module, kích hoạt các module mà chúng ta muốn sử dụng.
Nhấp chuột vào nút "Save config".
SVTH: Xixaket Luongvanxay 20 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
3.3.3 Gỡ bỏ module
Để đảm bảo cho database của site không dư thừa, khi gỡ bỏ các module, chúng ta
cần thực hiện đúng các bước:
- Vào trang điều hành module, bỏ chọn các module không muốn sử dụng, nhấp vào
nút "Save config".
- Từ trang điều hành module, vào tab Uninstall, nhấp chọn các module muốn gõ bở
(xóa nội dung trong cơ sở dữ liệu). Việc uninstall một module chỉ có thể được thực hiện
nếu như: người phát triển viết hàm uninstall cho module của họ và module có lưu dữ liệu
trong database.
- Vào thư mục mà nguồn (source) của module được tải lên (trong thư mục cài đặt

drupal site) và xóa bỏ chúng.
3.3.4 Viết một module Drupal
Cấu trúc của một module có thể gồm nhiều tập tin khác nhau, nhưng phải có ít
nhất một tập tin tên_module.info và một tập tin tên_module.module, tên này không được
trùng với các module đã tồn tại trong hệ thống.
3.3.5 Tạo file *.info:
Cấu trúc của một tập tin *.info có dạng:
- Name = tên của module, bắt buộc phải có.
- Description = mô tả các chức năng của module, bắt buộc phải có.
- Version = phiên bản của module.
- Package = nhóm các chức năng của module, nếu không khai báo package thì module
được đưa vào nhóm “other”.
- Dependencies = các module phụ thuộc, cách nhau bằng khoảng trống. Nếu module
được yêu cầu chưa được bật trên hệ thống thì module này không thể bật được.
3.3.6 Tạo file *.module:
- Bắt đầu với thẻ <?php.
- Chúng ta có thể ghi chú thích cho nhiều dòng sau dấu ‘/*’ và kết thúc ghi chú dùng
dấu ‘*/’, chú thích cho một dòng dùng dấu ‘//’.
- Viết mã: cài đặt các hook mà chúng ta cần xử lý (drupal có khá nhiều hook). Hook
được xem như là các sự kiện (event) bên trong bộ nhân Drupal. Hook được gọi là các
hàm callbacks, đây là cách phổ biến nhất để tương tác với nhân Drupal. Module sử dụng
SVTH: Xixaket Luongvanxay 21 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
hook để tương tác với hệ thống. Mỗi hook có tham số và giá trị trả về nhất định. Một
hook là một hàm PHP được đặt tên theo dạng: codepro_menu(), trong đó codepro là
tên của module còn menu là tên của hook. Mỗi hook sẽ có những thông số đầu vào khác
nhau và trả về các kết quả khác nhau. Tùy theo chức năng và mức độ phức tạp của
module mà người thiết kế có thể sử dụng các hook thích hợp. Có một số hook rất hay sử
dụng:
• Hook_perm: phân quyền sử dụng module

• Hook_menu: thiết lập các menu cho module
• Hook_theme: khai báo các theme của module
Ngoài ra chúng ta có thể khai báo thêm các hook_block, hook_user…
Như trong ví dụ trên, các module cũng được viết theo mô hình MVC: các file
template sẽ được lưu trữ trong thư mục templates của module, các hàm xử lý thuộc file
*.module và được định nghĩa thêm trong các file mà *.module gọi tới (ở đây, các hàm
trả về giá trị của hook_menu được đặt trong file abi_homepage.func.php). Các hàm truy
xuất đến cơ sở dữ liệu cũng có thể được đặt riêng trong một file.
3.3.7 File template:
Có dạng *.tpl.php là một file php, như trong khai báo ở file module trên, sẽ nhận
giá trị đầu vào là biến $v và thực hiện chức năng hiển thị thông tin, ví dụ đơn giản chỉ là
in ra một xâu:
<?php echo $v[‘content’]; ?>
Ngoài ra drupal đã xây dựng một số theme sẵn có như bảng biểu, câu lệnh gọi tới
theme có dạng:
$html = theme(‘tên theme’, $bien_truyen_vao);
Riêng với form, drupal cung cấp form API rất tốt. Drupal xây dựng sẵn các hàm về
cấu trúc của form để bạn có thể định nghĩa, biến đổi hoặc trả về nó ở dạng HTML. Dĩ
nhiên, đôi khi bạn có thể thay đổi output do Drupal tạo ra hoặc làm đẹp các control một
cách rất dễ dàng, tất cả được gán trong biến $form, sau đây là ví dụ về cách tạo một
thành phần của form:
$form['goiy'] = array(
‘#prefix’ => ‘<hr />’,
‘#title’ => t(’Gợi ý’),
‘#type’ => ‘fieldset’,
‘#collapsible’ => TRUE,
SVTH: Xixaket Luongvanxay 22 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
‘#collapsed’ => TRUE,
‘#suffix’ => ‘<h2 class=”with-tabs”>’.'Suffix thêm vào’.'</h2>’

);
Mỗi form sẽ được gán một FormID, sau khi khai báo form, ta khởi tạo form bằng
hàm
$output = drupal_get_form(’ten_ham_khai_bao_form’, bien_truyen_vao);
Drupal còn cung cấp sẵn các hàm xử lý cho form như: kiểm tra form, submit form,
thay đổi form…
Người dùng cũng có thể tự tạo form riêng của mình bằng việc sử dụng hàm theme.
3.4 QUẢN LÝ NGƯỜI DÙNG VÀ PHÂN QUYỀN TRONG DRUPAL
3.4.1 Role
Drupal phân quyền người dùng theo nhóm (role). Người dùng sẽ có quyền tổng hợp
của tất cả các nhóm mà người dùng đó thuộc về. Có 3 nhóm cơ bản mặc định là:
adminsitrator user (quản trị), anonymous user (người dùng nặc danh – chưa đăng ký),
authenticated user (người dùng đã đăng ký). Ngoài ra, admin có thể tạo thêm các nhóm
người dùng khác. Để vào trang quản lý roles, từ tran quản trị, click vào “Roles”
Sau khi tạo role, chúng ta có thể tiến hành phân quyền cho role đó bằng cách
chọn “edit permissions” trong trang Roles hoặc tiến hành phân quyền cho tất cả các role
bằng cách chọn “Permissions” từ trang quản trị.
SVTH: Xixaket Luongvanxay 23 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Drupal cho phép phân quyền cho tất cả các module và các nội dung của website.
Sau khi phân quyền xong cho các role, nhấn Save để lưu lại các thiết lập.
3.4.2 User
Người dùng có thể đăng ký mới từ trang user hoặc người quản trị cũng có thể tạo
mới user bằng cách click vào “Users” từ trang quản trị để vào trang quản lý user.
Giao diện trang quản lý user giống như trang quản lý nội dung, có cơ chế filter và
các thao tác với user: có thể trực tiếp khóa, xóa hay thêm user vào một nhóm đã tạo.
Click vào “Add user” Để tạo user mới và edit để sửa thông tin hay thay đổi mật
khẩu của 1 user.
3.5 QUẢN LÝ MENU
Để quản lý menu, admin click vào “Menu” từ trang quản trị:

SVTH: Xixaket Luongvanxay 24 GVHD: Lưu Minh Tuấn
Xây dựng website giới thiệu và bán sàn gõ trên nền CMS Drupal
Chọn Add menu để thêm menu mới
Sau khi điền đầy đủ các thông tin, nhấn “Save” để lưu lại. Tiếp đó, chọn “Add
item” để thêm một thành phần cho menu:
Các trường cần nhập:
- Path: có thể là link dẫn đến một website bên ngoài, cũng có thể là link dẫn tới
một trang bên của website.
- Tiêu đề của menu
- Parent item: chọn menu cha (menu có cấu trúc cây nhiều cấp giống như quản lý
term, có menu cha và menu con).
Nhấn “Save” để lưu lại.
SVTH: Xixaket Luongvanxay 25 GVHD: Lưu Minh Tuấn

×