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.
Trang 1LỜ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ópphầ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ếtcá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ôngtin mang lại cho con người không thể không kể đến một hình thức kinh doanh mới trongmô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ạngInternet 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ớihì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
Trang 2CHƯƠ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ảithô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ươngmạ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ĩnhvự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ấtphong 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ểntrong 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ênrất phổ biến với Joomla, Drupal, WorldPress, DotNetNuke Trong đó Drupal là mộttrong 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ủamì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
Trang 3- Đị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Ử
Trang 4Thương mại điện tử là các hoạt động kinh tế như mua bán hàng hóa và dichvụ,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áchmạ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ủaTMĐ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ạitruyề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áchhà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ảnphẩ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áchgiảm hoặc không thu phí đăng ký kinh doanh qua mạng Thực tế, việc thu nếu triển khaicũ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ânphố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ácshowroom trên mạng
- 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êuchuẩn 24/7
Trang 5- 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ácdoanh 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ượngdị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ìnhgiao 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ảmchi 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ụ, sosánh giá cả, chất lượng mẫu mã của nhiều nhà cung cấp trước khi quyết định muahà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ánqua 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ềnbạ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ư đấugiá, 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ạngInternet, 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ắpnơ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ảmgiá 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ọingười
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ảnphẩ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
Trang 61.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ốntrư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ậndụng tính năng đa phương tiện của môi trường Web, để trang trí trang Web sao cho thậthấ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
Trang 7CHƯƠ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 ManagementSystem) 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 đíchxâ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 đâythuậ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ìnhduyệ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ìnhthường đến các webmaster chuyên nghiệp Nền tảng của một CMS Website cho phépmộ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ựctiế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ướngphá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 Internetcho 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ênmá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
- 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:
Trang 8- 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.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ốngquả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ộidung 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ùychỉ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ểnchuyể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ếtlậ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 theodạng một hệ thống bảng tin (Tiếng Anh: bulletin board system) Đến năm 2001, Drupaltrở 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"
Trang 9Từ tháng 7 năm 2007 đến tháng sáu năm 2008, mã nguồn Drupal đã được tải về
từ website http://drupal.org hơn 1,4 triệu lần Hiện nay, có một cộng đồng rộng lớn đanggiú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 trongcá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
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úctuân theo mô hình MVC (Model, Controller, View):
Trang 10Có 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ácblock 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ếthợ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ácnộ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ũngnhư hệ điều hành
Trang 11- Drupal được xây dựng để giúp đỡ cho nhà phát triển Hệ thống hook đa dạng giúpngườ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ủanhâ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 http://drupal.org/
- 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”:
Trang 12- 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 foldersites/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:
Trang 13- 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ủaDrupal 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ỗinode 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ảnlý… 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) :
Trang 14 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ớinhữ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ậtlê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ó 2giá 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 khidrupal đã cung cấp một module rất tốt và trực quan: module CCK CCK giúp chúng tatạ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ớivào node, ví dụ: trường ảnh, trường video, trường link, … Có rất nhiều các loại CCKgiú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”: