1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIẾU DRUPAL & XÂY DỰNG WEBSITE BÁN LINH.

110 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 110
Dung lượng 2,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính vì điều này chúng em đã xây dựng một hệ thống TMĐT dựa trên công nghệ mã nguồn mở PHP cùng với công cụ Drupal để thực hiện đề tài “Tìm hiểu Drupal và Xây dựng trang website bán lin

Trang 1

Tiểu luận Cử Nhân Khoa Học Tin Học

Người hướng dẫn khoa học:

Cô LÊ THỊ NGỌC THẢO

THÀNH PHỐ HỒ CHÍ MINH 2008

Trang 2

Lời Cám Ơn -♣♣♣ -

Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Đại Học Tôn Đức Thắng, TPHCM đã tạo điều tốt cho chúng em thực hiện đề tài tốt nghiệp này

Chúng em xin gửi đến tất cả các thầy cô trong Khoa CNTT-TƯD, trường Đại Học Tôn Đức Thắng, TPHCM lòng biết ơn sâu sắc về những gì thầy cô đã dành cho chúng em trong suốt thời gian qua

Và hơn hết, chúng em xin chân thành cám ơn Cô Lê Thị Ngọc Thảo, người

đã tận tình hướng dẫn, giúp đỡ cho chúng em rất nhiều về mặt kiến thức cũng như ủng hộ động viên về mặt tinh thần trong suốt thời gian thực hiện đề tài

Chúng em xin gửi lòng biết ơn sâu sắc đến ba mẹ, các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên chúng em trong suốt thời gian học tập và nghiên cứu

Mặc dù chúng em đã cố hoàn thành đề tài tốt nghiệp trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông và góp ý của quý Thầy Cô và các bạn

Nhóm sinh viên thực hiện Trương Quốc Hưng 810863T Nguyễn Thị Thanh Thảo 810982T

Trang 3

Trang 4

Trang 5

Lời Mở Đầu

-♣♣♣ -

Hiện nay, chúng ta đang sống trong thời đại khoa học công nghệ phát triển cao Với sự phát triển nhanh chóng của công nghệ, nhất là công nghệ thông tin đã hình thành nên Thương Mại Điện Tử (TMĐT) Sự phát triển của TMĐT đã làm thay đổi cách thức mua bán, giao dịch truyền thống giữa khách hàng và nhà cung cấp

TMĐT không chỉ đem lại các lợi ích to lớn cho các nhà doanh nghiệp như giúp công ty mở rộng thị trường (trong và ngoài nước), nhanh chóng tăng thêm được lượng khách hàng, quảng cáo công ty, cải tiến và đơn giản hóa các quy trình mua bán, dễ dàng cập nhật thông tin, tăng khả năng đáp ứng cho khách hàng cũng như tăng lợi nhuận hàng năm cho công ty Mặt khác, TMĐT còn tạo cho khách hàng khả năng lựa chọn các nhà cung cấp khác nhau, cũng như thị trường khác nhau

về một loại sản phẩm mà họ quan tâm như giá cả, mẫu mã, dịch vụ và thực hiện các giao dịch trên mạng, 24/24 giờ tất cả các ngày trong tuần

Mặc dù, TMĐT rất phổ biến trên thế giới nhưng tại Việt Nam thì chưa vì hầu hết các doanh nghiệp vừa và nhỏ còn chưa có đầu tư thích đáng cho việc phát triển Website Thương Mại Điện Tử Thêm vào đó, các chi phí bản quyền cho các công

cụ mã nguồn đóng thì khá cao Qua nhận định nói trên, chúng ta thấy rằng Việt Nam vẫn chưa thật sự ứng dụng TMĐT vào trong cuộc sống, nếu có thì cũng còn rất nhiều mặt hạn chế Do vậy, việc tìm hiểu và khai thác thế mạnh của TMĐT ở Việt Nam là điều cần thiết Chính vì điều này chúng em đã xây dựng một hệ thống TMĐT dựa trên công nghệ mã nguồn mở PHP cùng với công cụ Drupal để thực

hiện đề tài “Tìm hiểu Drupal và Xây dựng trang website bán linh kiện máy tính”

nhằm mục đích tạo ra một website cung cấp cho người dùng các thông tin xác thực

và chi tiết một cách nhanh chóng trong môi trường mạng và tạo khả năng chuyên môn hóa cao trong kinh doanh

Trang 6

Nội dung tiểu luận: gồm có 5 chương

Chương 1: Giới thiệu về CMS, công cụ Drupal và thương mại điện tử: là

chương đầu, trình bày các kiến thức về CMS, mã nguồn mở Drupal và thương mại

điện tử

Chương 2: Yêu cầu thực tế và mục tiêu đặt ra : giới thiệu về nhu cầu thực tế

và l ý do thực hiện đề tài, đồng thời giới thiệu sơ lược về đề tài và mục tiêu phải đạt được

Chương 3: Phân tích và Thiết kế hệ thống: trình bày các phân tích và thiết kế

Trang 7

MỤC LỤC

Lời Cám Ơn 2

Lời Mở Đầu 5

Danh mục các hình 10

CHƯƠNG 1 GIỚI THIỆU VỀ CMS, CÔNG CỤ DRUPAL VÀ THƯƠNG MẠI ĐIỆN TỬ 11

1.1 Tổng quan về CMS 11

1.1.1 CMS là gì? 11

1.1.2 Các thành phần của CMS 11

1.1.3 Các tính năng của CMS nói chung 12

1.2 Tổng quan về Drupal 13

1.2.1 Lịch sử phát triển của Drupal 13

1.2.2 Drupal là gì? 14

1.2.3 Nhiệm vụ của Drupal 15

1.2.4 Các nguyên tắc 15

1.3 Các đặc tính của Drupal 16

1.3.1 Các đặc tính chung 16

1.3.2 Quản lý người dùng (User Management) 17

1.3.3 Quản lý nội dung (Content Management) 17

1.3.4 Đặc tính cộng đồng 17

1.3.5 Sự hiện thực và tính biến đổi được 18

1.4 Các thành phần chính trong Drupal 18

1.4.1 Kỹ thuật phân tầng trong Drupal (Technology Stack) 18

1.4.2 Nhân (Core ) 20

1.4.3 Các Module 21

1.4.4 Hooks 22

1.4.5 Các Theme giao diện (Themes) 23

1.4.6 Nodes 24

1.4.7 Blocks 25

1.4.8 CCK (Content Construction Kit) 26

1.4.9 Views 31

1.5 Thương mại điện tử (E-Commerce) 34

1.6 Thương mại điện tử và lợi ích cho doanh nghiệp 35

1.7 Các bước triển khai thương mại điện tử 36

CHƯƠNG 2GIỚI THIỆU 37

2.1 Yêu cầu thực tế và lý do thực hiện đề tài 37

2.1.1 Yêu cầu thực tế 37

2.1.2 Lý do thực hiện đề tài 38

2.2 Mục Tiêu Đề Ra 39

2.2.1 Về mặt lý thuyết 39

2.2.2 Về mặt ứng dụng 39

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 40

3.1 Phân tích thực tế 40

3.1.1 Yêu cầu thực tế 40

Trang 8

3.1.2 Bản đặc tả Website 40

3.2 Đặc tả Use-case 42

3.2.1 Sơ đồ Use-case 42

3.2.2 Phân tích Actor 43

3.3 Phân tích Use-case 44

3.3.1 Đăng ký tài khoản 44

3.3.3 Quản lý thông tin cá nhân 49

3.3.4 Tìm kiếm sản phẩm 50

3.3.5 Xem chi tiết sản phẩm: 52

3.3.6 Đặt hàng 53

3.3.7 Đánh giá sản phẩm 54

3.3.8 Bình luận 55

3.3.9 Gửi câu hỏi và trả lời câu hỏi 56

3.3.10 Mua hàng trực tuyến 57

3.3.11 Quản lý bài bình luận 58

3.3.12 Quản lý thông tin sản phẩm 59

3.3.13 Quản lý thông tin đơn đặt hàng 60

3.3.14 Quản lý thông tin khuyến mãi 61

3.3.15 Báo cáo thống kê 62

3.3.16 Quản lý tài khoản 63

3.3.17 Thay đổi giao diện 64

3.4 Thiết kế cơ sở dữ liệu 65

3.4.1 Mô hình cơ sở dữ liệu 65

3.4.2 Mô tả chi tiết từng thành phần 66

CHƯƠNG 4 HIỆN THỰC 72

4.1 Hiện thực Use-case theo Module 74

4.1.1 Các Module tích hợp sẵn của Drupal ( bộ Core) 74

4.1.2 Các Module thêm vào ( add-on) 74

4.1.3 Các Module mới được xây dựng thêm 77

4.2 Hiện thực cơ sở dữ liệu 79

4.2.1 Bảng Product 79

4.2.2 Bảng Product_Type 80

4.2.3 Bảng Product_detail 80

4.2.4 Bảng khuyến mãi ( tặng hàng và giảm giá ) 80

4.2.5 Đơn đặt hàng (Order) 80

4.2.6 Chi tiết đơn đặt hàng 81

4.2.7 Hóa đơn 81

4.2.8 Thành viên 81

4.2.9 Bảng tài khoản 82

4.2.10 Bảng bình luận (comment) và bảng câu hỏi 82

4.2.11.Giỏ hàng (Cart) 83

4.3 Mô hình màn hình phối hợp 84

4.3.1 Use-case đăng ký 84

4.3.2 Use-case đăng nhập 84

4.3.3 Use-case xem thông tin hàng 84

Trang 9

4.3.4 Use-case Tìm Kiếm 84

4.3.5 Use-case tạo sản phẩm 85

4.3.6 Use-case đặt hàng 85

4.3.7 Use-case Khuyến mãi 85

4.3.8 Use-case Quản trị 86

4.3.8.1 Quản trị nội dung 86

4.3.8.2 Quản trị bài bình luận 86

4.4 Màn hình của trang Web 88

CHƯƠNG 5 TỔNG KẾT 95

5.1 Tổng kết 95

5.1.1 Về mặt lý thuyết 95

5.1.2 Về mặt ứng dụng 95

5.2 So sánh và đánh giá 96

5.2.1 So sánh 96

5.2.2 Đánh giá 96

5.3 Hướng phát triển 97

5.3.1 Đối với các dịch vụ dành cho khách hàng 97

5.3.2 Đối với các dịch vụ dành cho doanh nghiệp 97

PHỤ LỤC 98

Hướng dẫn cài đặt XAMPP và Drupal 98

Cách cài đặt XAMPP 98

Cách cài đặt website bán linh kiện máy tính 105

Trang 10

Danh mục các hình

Hình 1.4.1 Kỹ thuật phân tầng của Drupal 18

Hình 1.4.2 Tổng quan Nhân Drupal 20

Hình 1.4.3 Sự cho phép các module bổ sung giúp cho việc mở rộng các tính năng21 Hình 1.4.5 Một số trường trong CCK 29

Hình 1.4.6 Một số thứ tự cho các field sẽ làm việc 30

Hình 3.2.1 Sơ đồ Use-case 42

Hình 3.3.1 Đăng ký thành công 45

Hình 3.3.2 Đăng ký thất bại do tài khoản đã tồn tại 46

Hình 3.3.3 Đăng ký thất bại do sai thông tin quy cách 46

Hình 3.3.4 Đăng nhập thành công 47

Hình 3.3.5 Đăng nhập thất bại 48

Hình 3.3.6 Chỉnh sửa thông tin cá nhân 49

Hình 3.3.7 Tìm kiếm sản phẩm theo tên 50

Hình 3.3.8 Tìm kiếm sản phẩm theo nhà cung cấp 51

Hình 3.3.9 Tìm kiếm sản phẩm theo giá 51

Hình 3.3.10 Xem chi tiết thông tin sản phẩm 52

Hình 3.3.11 Đặt hàng 53

Hình 3.3.12 Đánh giá sản phẩm 54

Hình 3.3.13 Bình luận 55

Hình 3.3.14 Gửi câu hỏi 56

Hình 3.3.15 Mua hàng trực tuyến 57

Hình 3.3.16 Quản lý bài bình luận 58

Hình 3.3.17 Quản lý thông tin sản phẩm 59

Hình 3.3.18 Quản lý thông tin đặt hàng 60

Hình 3.3.19 Quản lý thông tin khuyến mãi 61

Hình 3.3.20 Báo cáo thống kê 62

Hình 3.3.21 Quản lý tài khoản 63

Hình 3.3.22 Thay đổi giao diện 64

Hình 3.4.1 Mô hình cơ sở dữ liệu 65

Hình 4.3.1 Trang quản trị nội dung 86

Hình 4.3.2 Trang quản trị bình luận 86

Hình 4.4.1 Trang chủ 88

Hình 4.4.2 Trang đăng ký 89

Hình 4.4.3 Đăng ký thất bại 89

Hình 4.4.4 Trang đăng nhập và thông báo đăng nhập thất bại 90

Hình 4.4.5 Trang chi tiết sản phẩm, bình chọn và bình luận 90

Hình 4.4.6 Trang tìm kiếm 91

Hình 4.4.7 Trang kết quả tìm kiếm 91

Hình 4.4.8 Trang tạo sản phẩm 92

Hình 4.4.9 Trang giỏ hàng 92

Hình 4.4.10 Trang tạo địa chỉ giao hàng 93

Hình 4.4.11 Trang chọn địa chỉ nơi nhận hàng và thanh toán 93

Hình 4.4.12 Trang thông tin khuyến mãi 94

Hình 4.4.13 Trang tạo khuyến mãi 94

Trang 11

CHƯƠNG 1 GIỚI THIỆU VỀ CMS, CÔNG CỤ DRUPAL VÀ THƯƠNG MẠI ĐIỆN TỬ

Trong đó nội dung có thể là:

 Thông tin (information) – ví dụ như các ảnh (image) và các đoạn văn bản (text) – mà ta thấy trên các website khi truy cập chúng

 Các ứng dụng (application) hay phần mềm (software) chạy trên các Server để hiển thị thông tin trên các Website

1.1.2 Các thành phần của CMS

 CMA (Content Management Application): Ứng dụng quản lý nội dung

CMA quản lý vòng đời đầy đủ của các thành phần nội dung, từ khi bắt đầu đến khi xóa bỏ chúng CMA có các chức năng sau: Approval, Design, Authorizing, Editing, Layout, Testing, Staging, Deployment, Maintenance, Archival, Removal

 MMA (Metacontent Management Application): Mục tiêu của siêu dữ liệu

là cung cấp giao diện (interface) đơn giản, ổn định, thân thiện với người dùng cho một Website Vì thế dù là Website có hỗ trợ hoặc có chứa các thành phần như hình ảnh, âm thanh, video, hay form thì MMA chỉ là sự kết hợp của các thành phần: Templates, Scripts, Programs, Runtime Dependencies

 CDA (Content Delivery Application): Công việc của ứng dụng phân phối

nội dung CDA là đưa các thực thể nội dung ra ngoài hệ thống nơi lưu trữ của

Trang 12

“Quản trị nội dung” và hiển thị chúng bằng cách sử dụng hệ thống MMA ra trang web

 Cấu trúc của một CMS

1.1.3 Các tính năng của CMS nói chung

 Chuẩn giao diện cho việc tạo, chỉnh sửa, phê duyệt, triển khai (Creating, Editing, Approving, Deploying)

 Kho lưu trữ chung (Common Repository)

 Quản lý phiên bản, lưu vết và quay lui (Version Control, Tracking, Rollback)

 Luồng công việc (WorkFlow)

 Tạo trang động (Dynamic Page Generation)

 Cá nhân hóa (Personalization)

 Quản lý Cache (Cache Management)

 Chuyển đổi nội dung (Content Conversion)

 Tích hợp tìm kiếm (Search Integration)

 Giám sát, phân tích, báo cáo nội dung

Trang 13

1.2 Tổng quan về Drupal

Drupal là một nền tảng quản lý nội dung nguồn mở (CMS – Control Management System) Được trang bị với sự kết hợp sức mạnh của các tính năng, Drupal có thể hỗ trợ nhiều thể loại và phạm vi website lớn như các trang blog cá nhân, những trang web lớn có các liên kết và các website lớn về điều khiển cộng đồng

Drupal là mạng - hệ thống quản lý nội dung cơ sở Văn bản và những con trỏ trỏ tới những loại nội dung khác được lưu trữ trong cơ sở dữ liệu, tự động được khôi phục và biên soạn, và giới thiệu đến người dùng trong cơ chế đáp lại một yêu cầu được gửi thông qua trình duyệt web (web-browser)

Drupal cũng là một khung quản lý nội dung (CMF – Content Management Framework)

1.2.1 Lịch sử phát triển của Drupal

Vào năm 2000, do có những kết nối Internet thường xuyên tại trường Đại học Antwerp, vì vậy Dries Buytaert và Hans Snijder thiết lập một mạng bắc cầu không dây giữa tập thể sinh viên của họ để chia sẻ kết nối modem Hans’ ADSL giữa tám sinh viên Trong khi đây là một tình trạng vô cùng xa hoa trong thời gian

ấy, một số thứ không có sẵn như là: Không có phương tiện để bàn luận hoặc chia sẻ các thứ đơn giản

Việc này cho phép các nhóm của những người bạn Dries có thể để lại trạng thái của mạng, cho biết nơi họ đang ăn tối hoặc chia sẽ vài tiết mục đáng nhớ

Phần mềm chưa có một cái tên cho đến ngày Dries chuyển nhà đi sau khi tốt nghiệp Nhóm quyết định sử dụng một website trực tuyến nội bộ để có thể liên lạc

và chia sẻ các khám phá thú vị và kể lại những mẩu truyện nhỏ về cuộc sống cá nhân của họ Trong khi tìm kiếm một tên miền thích hợp, Dries đã đăng ký tên miền

‘drop.org’ sau khi anh đánh sai tên và anh nhận ra rằng ‘dorp.org’ vẫn còn giá trị

Dorp là một từ Hà Lan dùng để chỉ về một “ngôi làng”, được xem như tên một cộng đồng nhỏ

Khi drop.org được thiết lập trên Web, thính giả của nó thay đổi những thành

viên và bắt đầu nói về các công nghệ Web mới, chẳng hạn như sự điều chỉnh, sự

Trang 14

phân loại và chứng thực phân tán Drop.org dần dần trở thành một môi trường tăng thêm kinh nghiệm cá nhân, được điều khiển bởi những buổi thảo luận và những dòng ý tưởng Những buổi thảo luận về các công nghệ web được thử trên chính

drop.org như là một phần mềm bổ sung chạy trên site

Tháng 1 năm 2001, Dries quyết định đưa ra phiên bản phần mềm là Drupal

trên trang drop.org – Drupal trở thành công trình nguồn mở Mục đích của nó là

cho phép những người khác sử dụng và mở rộng dựa trên những cái đã có để có thể tìm ra những hướng phát triển mới cho Drupal Tên Drupal được phát âm là “Droo - puhl”; trong tiếng Anh, được chuyển từ từ “Druppel” của tiếng Hà Lan, nghĩa là

“giọt nước”

Từ tháng 5/2006 đến tháng 4/2007, mã nguồn Drupal đã được tải từ website

drupal.org hơn 600,000 lần Hiện nay, có một cộng đồng lớn đang giúp đỡ phát

cố gắng làm cho đoạn code rõ ràng hơn Drupal được thiết kế để tùy chỉnh, nhưng

sự tùy chỉnh này chỉ mang tính chất kế thừa và mở rộng các module đã có sẵn, hoặc

là thêm vào các module mới, không chỉnh sửa trong nhân của Drupal Nó cũng thành công trong việc tách riêng việc quản lý nội dung và việc biểu diễn nội dung

Drupal có thể được sử dụng để xây dựng cổng thông tin; một web site cá nhân, văn phòng hay tập đoàn; một web site thương mại điện tử; … Thậm chí, nó còn được sử dụng để dạy học từ xa Một nhóm bảo mật Drupal sẽ thiết lập việc bảo mật Drupal bằng cách phản ứng lại các mối đe dọa và đưa ra các bản cập nhật bảo mật Và một cộng đồng trực tuyến lớn mạnh của những người sử dụng, những người quản trị, những người thiết kế, và những người phát triển web làm việc liên tục để cải thiện phần mềm ở trên trang http://drupal.org và http://groups.drupal.org

Trang 15

1.2.3 Nhiệm vụ của Drupal

Do việc xây dựng dựa trên các tiêu chuẩn và các công nghệ nguồn mở nên Drupal hỗ trợ và tăng cường tiềm năng của Internet như là một môi trường đa dạng

và có tính cục bộ - các cá nhân và các nhóm được phân ra có thể cùng đưa ra và chia sẻ thông tin hay những ý tưởng để cùng thảo luận Với những sở thích chung

và tập trung vào tính cộng đồng và tính cộng tác, tính linh hoạt của Drupal cho phép các sản phẩm mang tính hợp tác có thể đưa thông tin lên mạng

1.2.4 Các nguyên tắc

Modular and extensible (Theo dạng hướng module và khả năng mở

rộng): Mục tiêu của Drupal là cung cấp một nhân gọn và rất mạnh để có thể sẵn

sàng cho việc mở rộng thông qua các module tùy biến

Quality coding (Sự mã hóa chất lượng): Những đoạn mã chất lượng cao, dễ

nhìn và được lưu dưới dạng văn bản được ưu tiên trong việc lập ra các hàm

Standards-based (Dựa trên các tiêu chuẩn): Drupal hỗ trợ việc thiết lập và

việc nảy sinh các chuẩn Những tiêu chuẩn đặc biệt bao gồm XHTML và CSS

Low resource demands (Các yêu cầu về tài nguyên thì ít): Để đảm bảo cho

hiệu suất được tối đa, Drupal thiết lập các các tối ưu cho việc viết code (chẳng hạn như: giảm tối thiểu các câu truy vấn cơ sở dữ liệu) Drupal cung cấp các yêu cầu về phần mềm tối thiểu nhất về phía server Đặc biệt, Drupal cần phải thao tác hoàn toàn trên một server với web server là Apache có hỗ trợ PHP và cơ sở dữ liệu MySQL hay PostgreSQL

Open source (Nguồn mở): Drupal thì dựa vào triết học nguồn mở của sự

phát triển phần mềm tự do cộng tác và được cho phép bởi GPL Drupal chính nó là nguồn mở và nó tiếp tục xây dựng và hỗ trợ những dự án nguồn mở khác Drupal được viết bằng ngôn ngữ PHP và hỗ trợ nguồn dữ liệu chính của cơ sở dữ liệu nguồn mở theo định dạng MySQL và PostgreSQL

Ease of use (Đơn giản cách sử dụng): Drupal nhắm vào các tiêu chuẩn cao của tính khả dụng cho những người phát triển, người quản trị và người dùng

Collaboration (Sự cộng tác): Sự phát triển Drupal hỗ trợ những hệ thống và

những cách tiếp cận chia sẻ thông tin mở và cộng tác

Trang 16

1.3 Các đặc tính của Drupal

1.3.1 Các đặc tính chung

- Collaborative Book (đặc tính viết sách cộng tác) – Đây là đặc tính duy nhất cho

phép bạn tạo một “cuốn sách” và cho phép các cá nhân khác cùng hợp tác xây dựng nội dung

- Friendly URLs (những đường link thân thiện) – Drupal sử dụng hàm

mode_rewrite() của Apache cho phép tùy chọn URLs (Uniform Resource Locator –

là địa chỉ của một đối tượng) và điều đó sẽ giúp cho người dùng và tất cả các phương thức tìm kiếm thân thiện hơn

- Module – Cộng đồng Drupal đã đóng góp nhiều module mà nó cung cấp tính năng

mở rộng cho nhân Drupal

- Online help – Như một số dự án mã nguồn mở, chúng ta không thể nói rằng sự

giúp đỡ trực tuyến của chúng ta hoàn hảo nhưng đã tạo nên một hệ thống giúp đỡ trực tuyến mạnh được xây dựng bên trong dựa vào những tài liệu giúp đỡ gốc, sẵn

có trên site của bạn

- Open source – Mã nguồn mở của Drupal thì tùy thích sẵn có dưới thời hạn của

GNU General Public License 2 (GPL) Không giống Blogging cá nhân hay những

hệ thống quản lý nội dung, tập hợp đặc tính của Drupal thì sẵn có hoàn toàn có thể

mở rộng hoặc điều chỉnh tùy ý khi cần

- Personalization (cá nhân hóa) – Một môi trường cá nhân hóa mạnh mẽ ở nhân

Drupal Cả nội dung lẫn hình thức có thể được cá nhân hóa dựa vào những sự ưu tiên do người dùng quy định

- Role based permission system (Quản lý người dùng dựa trên vai trò) – Những

người quản trị Drupal không phải thực hiện lặp đi lăp lại công việc thiết lập quyền cho mỗi người dùng Thay vào đó, họ sẽ gán quyền cho những vai trò và sau đó nhóm những người dùng vào trong một nhóm vai trò mới cho phù hợp với nhu cầu

Mặc định, Drupal xây dựng sẵn 3 vai trò (không thể sửa/xóa):

 admin: một vai trò trừu tượng, không hiển thị ra giao diện hệ thống chỉ có

một người dùng có vai trò admin - người điều hành site, có đầy đủ quyền sử dụng mọi chức năng trên hệ thống

Trang 17

 authenticated: người sử dụng đã ghi danh và đã đăng nhập vào hệ thống

- Searching (Tìm kiếm) – Tất cả các nội dung trong Drupal hoàn toàn được chỉ số

hóa và có khả năng tìm kiếm bất cứ lúc nào nếu bạn sử dụng module Tìm kiếm

1.3.2 Quản lý người dùng (User Management)

- User authentication (sự chứng thực người dùng) – Người dùng có thể đăng ký và

xác nhận cục bộ hay sử dụng một nguồn chứng thực bên ngoài như OpenID hoặc website Drupal khác Để dùng trên một mạng nội bộ, Drupal có thể kết hợp với một LDAP server (Lightweight Directory Access Protocol – Giao thức truy nhập thư mục nhanh)

1.3.3 Quản lý nội dung (Content Management)

- Polls – Drupal hình thành một mô hình (module) kiểm tra tuần tự cho phép người

quản trị hay người dùng tạo ra những kiểm tra tuần tự và hiển thị chúng trên nhiều trang khác nhau

- Templating – Hệ thống đề tài (theme) của Drupal có thể tách biệt nội dung và sự

biểu diễn, điều này cho phép bạn điều khiển được vẻ ngoài của site Drupal của bạn Những khuôn mẫu (template) được tạo ra từ các đoạn mã HTML hay PHP chuẩn,

điều này có nghĩa là bạn không phải học một ngôn ngữ templating riêng nào khác

- Threaded comments – Drupal cung cấp một mô hình (module) bình luận mạnh để

cho phép thảo luận trên nội dung đã được xuất bản Những bình luận thì có thứ bậc trong một nhóm thảo luận hay diễn đàn

- Version control – Hệ thống điều khiển phiên bản của Drupal sẽ ghi nhận lại

những chi tiết nội dung cập nhật bao gồm người thay đổi, cái gì được thay đổi, ngày tháng và thời gian của những sự thay đổi trong nội dung của bạn và nhiều hơn nữa Những đặc tính điều khiển phiên bản (Version control) cung cấp một tùy chọn để giữ một bản ghi bình luận và cho phép bạn quay lại với những phiên bản cũ hơn

1.3.4 Đặc tính cộng đồng

- Discussion forums – Những đặc tính đầy đủ của một diễn đàn được xây dựng sẵn

trong Drupal tạo ra các vị trí cộng đồng sống động

Trang 18

1.3.5 Sự hiện thực và tính biến đổi được

- Caching – Cơ chế đệm làm giảm thiểu và tăng tốc độ thực hiện các câu truy vấn

cơ sở dữ liệu và giảm thiểu sự truyền tải của server Caching không chỉ có thể điều chỉnh thời gian thực, trong khi site của bạn đang được truyền tải, mà nó còn được kiểm tra thành công dưới một “slashdotting” và được thực hiện cực kỳ tốt

1.4 Các thành phần chính trong Drupal

1.4.1 Kỹ thuật phân tầng trong Drupal (Technology Stack)

Các mục đích của việc thiết kế Drupal là bao gồm cả việc nó không chỉ có thể hoạt động tốt trên những tài khoản hosting mạng giá rẻ mà nó còn có khả năng

mở rộng các trang web (chia một website khổng lồ thành những phần nhỏ theo một

tỉ lệ nhất định) Mục tiêu đơn giản của Drupal là sử dụng các kỹ thuật phổ biến nhất

và việc viết code phải cẩn thận và chặt chẽ Hình dưới đây sẽ minh họa cho kỹ thuật

sử dụng Stack của Drupal:

Hình 1.4.1 Kỹ thuật phân tầng của Drupal

Hệ điều hành là mức thấp nhất trong tầng của Drupal Drupal hoạt động được trên tất cả hệ điều hành có hỗ trợ PHP

Apache là web server được dùng phổ biến nhất cùng với Drupal, tuy nhiên còn có một số web server khác (bao gồm Microsoft IIS) có thể được sử dụng

Trang 19

Drupal đưa các tập tin htaccess vào trong root của nó để đảm bảo sự an toàn trong

khi cài đặt Drupal

Các giao diện của Drupal với lớp kế tiếp của tầng (cơ sở dữ liệu) thông qua một lớp cơ sở dữ liệu trừu tượng Lớp này điều khiển việc cải thiện các câu truy vấn SQL và giúp cho nó có thể sử dụng những cơ sở dữ liệu của những nhà cung cấp khác nhau mà không cần chỉnh sửa code của bạn Các cơ sở dữ liệu được sử dụng phổ biến là MySQL và PostgreSQL

Drupal được viết bằng PHP Đặc điểm của PHP là rất dễ học đối với người mới bắt đầu Cũng giống như nhiều ngôn ngữ lập trình khác, PHP cũng thường bị lạm dụng để tấn công nhanh vào các hệ thống Tuy nhiên, PHP cũng có thể được dùng để viết các đoạn mã chặt chẽ và đáng tin cậy Tất cả các đoạn mã được tích hợp vào nhân Drupal để đảm bảo tính chính xác của các chuẩn mã

Trang 20

1.4.2 Nhân (Core )

Một framework rất gọn đã hình thành nên nhân Drupal Nhân Drupal có thể

lấy về khi bạn download Drupal từ trang drupal.org Nhân của Drupal chịu trách

nhiệm cung cấp các tính năng cơ bản mà được sử dụng để hỗ trợ những phần khác của hệ thống

Nhân của Drupal bao gồm đoạn mã cho phép hệ thống Drupal có thể chuyển tiếp (bootstrap) khi nó nhận một yêu cầu Một thư viện các tính năng thông dụng được sử dụng bên trong Drupal, và các module cung cấp các tính năng cơ bản như user management taxonomy, và các mẫu giao diện được minh họa bằng hình sau đây:

Hình 1.4.2 Tổng quan Nhân Drupal

Trang 21

Mọi chức năng của Drupal đều được viết với dạng Modules Mặc định Drupal có hơn 30 modules Các modules này có thể đáp ứng chức năng của một trang thương mại điện tử cơ bản Tuy nhiên người quản trị hệ thống có thể thêm bất

cứ module khác vào một cách đơn giản

Trang 22

Một điểm hay của module là có thể cho phép người phát triển module có thể

sử dụng lại các hàm ở module khác để xây dựng cho module của mình Như vậy việc phát triển module càng thêm dễ dàng hơn

1.4.4 Hooks

Các Hook được xem như các sự kiện bên trong nhân Drupal Chúng được gọi

là những hàm callbacks(), được gắn kết với các chức năng của Drupal Hooks cho

phép các module “hook into” những gì đang diễn ra bên trong Drupal

Giả sử một người dùng đăng nhập vào website Drupal Tại cùng một thời điểm mà người dùng đăng nhập, Drupal sẽ phát ra hook user, nghĩa là lúc này tất cả

các hàm hook user có trong tất cả các module sẽ được gọi Ví dụ comment_user() trong module comment, locale_user() trong module locale, node_user() trong

module node và bất kỳ những gì có hàm cùng tên user sẽ được gọi

Có thể viết một module spammy.module tùy biến theo ý của bạn và được đặt bên trong thư mục modules, và module này sẽ gọi hàm spammy_user() để gửi email

cho người dùng, lúc này thì hàm của bạn cũng sẽ được gọi

->Đây là cách phổ biến nhất để tương tác với nhân Drupal thông qua hiện thực các hook trong module

Trang 23

1.4.5 Các Theme giao diện (Themes)

Khi tạo một trang web để gửi đến một trình duyệt web, có 2 vấn đề cần quan tâm đó là: dữ liệu có thích hợp và trang trí lại cho dữ liệu đó Trong ngữ cảnh của Drupal, thuật ngữ “theme” có nghĩa là một tập hợp các file chịu trách nhiệm với vẻ ngoài của website Những hệ thống khác thì sử dụng những cái tên khác nhau để dành cho các file này dùng để thực hiện cùng một chức năng trên những hệ thống đặc biệt của họ - ngoài ra còn có một thuật ngữ được sử dụng phổ biến là

“template”

Trong Drupal, lớp theme dùng để lo việc tạo HTML cho các trình duyệt web nhận Drupal cho phép vài cách để có thể thay đổi tùy biến giao diện trang web Đơn giản nhất là sử dụng các file CSS (cascading style sheet) để ghi đè lên các lớp IDs được tích hợp sẵn bên trong Drupal

Muốn thay đổi cách trình bày của HTML thì cũng có thể dễ dàng thực hiện việc này bằng cách sửa đổi các template hiện có sẵn với cách thức tổ chức rất chuẩn mực do Drupal đề ra

Drupal có thể có một hay nhiều theme Người điều hành có thể quyết định chọn theme phù hợp với nhu cầu của trang web Theme định nghĩa cách trình bày tổng quát của site: Site name, Slogan, Mission, Layout, CSS, Block style, Node style,

Trang 24

Hình 1.4.4 Theme Garland là theme mặc định của Drupal

1.4.6 Nodes

Node là cấu trúc riêng biệt của Drupal, quản lý tất cả mọi bài viết trên hệ thống Các kiểu nội dung trong Drupal được bắt nguồn từ một kiểu nội dung cơ bản

được xem như node Drupal cung cấp các hàm cơ bản giúp xây dựng những kiểu

nội dung mới, các kiểu nội dung này có cách xử lý và hiển thị khác nhau nhưng chúng đều lưu dữ liệu xuống ở dạng node Đây là điểm hay của Drupal chỉ với một cấu trúc có thể phát triển thành vô số nội dung khác nhau với cách hiển thị và xử lý cũng khác nhau

Người phát triển module có thể thêm các tính năng như sự phân loại, các lời bình luận, các file đính kèm,… mà không cần phải quan tâm loại node là blog, hay recipe, Node cũng bao gồm một tập các thuộc tính cơ bản cho phép kế thừa tất cả các kiểu nội dung khác Bất kỳ node nào cũng có thể được đưa ra trang chủ, phát hành hoặc không phát hành hoặc thậm chí là các sự kiện tìm kiếm Bởi vì chúng có

Trang 25

cấu trúc giống nhau nên giao diện quản trị thường làm việc và thao tác sửa đổi trực tiếp trên các node

1.4.7 Blocks

Một Block là một khối chứa đựng thông tin mà có thể được cho phép hay vô hiệu hóa ở một vị trí xác định trong website của bạn Ví dụ, một block có thể hiển thị số lượng người dùng đang hoạt động trên site của bạn

Block liên quan trực tiếp đến giao diện của Drupal Khi xây dựng giao diện người phát triển phải quy định khu vực sẽ hiển thị block Người quản trị hệ thống có thể định vị trí của block vào các khu vực đã quy định, sắp xếp thứ tự hiển thị của block, có thể cho phép hoặc không cho phép block hiển thị

Bạn có thể tạo một block chứa đựng các thông tin về các người dùng đang hoạt động hay một danh sách các sự kiện mới được đưa lên Block thường được đặt

ở bên trái, bên phải, đầu trang, hay cuối trang của một trang web

Khối nội dung bao gồm những thuộc tính:

 Region (Vị trí trình bày): được trình bày ở phải/ trái/ trên/ dưới/ của

site Region được theme định nghĩa

 Weight (Thứ tự trình bày): Xác định thứ tự trình bày block Block có

weight càng nhỏ có độ ưu tiên càng cao

 Title: Tiêu đề của block

 Body: Nội dung trình bày chính của block

 Access: Xác định block có được trình bày hay không đối với người dùng

có những vai trò nhất định

 Custom pages: Giới hạn trình bày block ở một số trang xác định

Ví dụ : user login là 1 block và thường được đặt ở bên trái (left-sidebar) Bạn

có thể tạo 1 block chứa số lượng người đang truy cập, font chữ ở các block bên trái nhỏ hơn các block phía bên phải, các block bên phải có màu sắc, độ bo viền khác với các block ở footer,…

Trang 26

1.4.8 CCK (Content Construction Kit)

1.4.8.1 CCK là gì?

- CCK được coi như là module chủ yếu mà đa số mọi người đều cần và sử dụng đến CCK cho phép tạo ra và tùy chọn các field sử dụng trong trình duyệt web

- CCK cho phép thêm các trường tùy biến vào bất kỳ kiểu nội dung nào

- Ở các phiên bản khác nhau chức năng và các thao tác của CKK có thể khác nhau

Sự khác biệt đó như sau: Trong phiên bản 4.7 CCK tạo ra các trường và các kiểu nội dung tùy ý Trong phiên bản 5.x các kiểu nội dung tùy ý có thể được tạo trong phần nhân (core) của Drupal

- Ở đây ta chỉ nói về Drupal 5.x:

 Bật tính năng CCK module theo Adminnister>>Site building>>Modules

 Các kiểu nội dung hiện nay được quản lý trong bộ nhân (core) của Drupal

Có thể thêm và chỉnh sửa theo Administer>>Content Management>> Content types

 Cấu hình các trường trong CCK bằng cách theo Administer>>Content Management>>Content types và chọn 1 kiểu nội dung để thay đổi Trong màn hình chỉnh sửa sẽ có các tab để quản lý hoặc thêm 1 trường (field)

 Việc tạo và thay đổi các quyền cho các kiểu nội dung bằng cách vào User Management >> Access Control

Trang 27

1.4.8.2 Bắt đầu với CCK:

- CKK có thể tạo ra các kiểu nội dung theo yêu cầu cá nhân

- CCK cũng cho tùy biến các trường hợp trong bất kỳ Views nào nếu sử dụng Module Views

- Có thể download CCK và cài đặt CCK bằng cách giải nén module trên trang web

và vào admin/build/modules để kích hoạt nó

-CCK là 1 nhóm các module Module chủ yếu là ‘content’ và bắt buộc phải có, để

sử dụng các module khác trong CCK Trong file nén trên bao gồm một module khác, được kèm chung với các module CCK chính Gồm có: text, Number, Nodereference, UserReference, OptionWindgets, Fieldgroup

- Ngoài ra có rất nhiều module khác đi kèm với module CCK trên trang drupal.org

1.4.8.3 Các bước để thêm một field mới trong CCK

- Bước 1:

Theo hướng dẫn Administer>>Content Management>>Content Types (admin/ content/tpyes) nơi chứa danh sách các kiểu nội dung có một cặp module trong một phần của sự cài đặt chuẩn của Drupal và có thể sử dụng trong số đó hoặc

có thể thêm vào một kiểu nội dung của chính mình Ví dụ : thêm vài trường trong kiểu nội dung ‘Story’

Tùy chọn ‘edit’ cho kiểu ‘story’ Trên màn hình nơi mà bạn có thể chỉnh sửa kiểu nội dung Bạn sẽ thấy thẻ ‘Manage Field’, ‘Display Field’, ’Add new Field’.Nếu chọn ‘Manage Field’, ‘Display Field ’thì sẽ không thấy gì cả, vì lúc này bạn chưa tạo bất kỳ trường nào, hãy bắt đầu tùy chọn Add New Field

Trên màn hình Add new Field sẽ yêu cầu điền tên cho trường, có thể điền bất

kỳ vào đây bao gồm các khoảng trắng, những gì điền vào đây sẽ là tên của trường mình muốn dùng trong cơ sở dữ liệu Ví dụ điền vào ‘My Text’ thì tên thật của trường này là field_my_text Và sẽ dùng tên field này nếu muốn tùy biến bất kỳ trên giao diện Chú ý tên machine name của trường không được thay đổi

Hình duới đây là danh sách các trường hiện tại Các trường cốt lỗi như Text, Integer, Decimal, Nodereference, Userreference Có các kiểu nội dung có thể tạo với các trường đó

Trang 28

Trường ‘Text’ sẽ tạo kiểu nội dung được lưu trong cơ sở dữ liệu dưới dạng text Trường ‘Integer’ và ‘Decimal’ sẽ tạo kiểu nội dung lưu trong cơ sở dữ liệu dưới dạng số Trường ‘Nodereference’, ‘Userreference’ được lưu trữ hoặc là node hoặc là userId trong cơ sở dữ liệu , cho phép liên kết đến các node hoặc các bản user

Mỗi kiểu của trường dưới đây là vài tùy chọn cho dữ liệu sẽ được đưa vào cho trường này (CCK gọi là widgets) Nó điều khiển cách các trường này sẽ trông như thế nào Các giá trị sẽ khác nhau cho từng trường một, nhưng các thứ như textfield và một hộp trắng (blank box) nơi mà người sử dụng đánh chữ vào và hệ thống sẽ tự hoàn tất phần text cho họ với các biến hợp lệ trong cơ sở dữ liệu, lựa chọn từ các list, các checkbox, và các nút radio Màn hình sẽ trong như thế này :

Trang 29

Hình 1.4.5 Một số trường trong CCK

Trang 30

- Bước 2: Định nghĩa một số thứ cho các field sẽ làm việc

Hình 1.4.6 Một số thứ tự cho các field sẽ làm việc

 Label: đặt tên một nhãn ở đây Đây là cơ hội để tạo nhãn mà các thành phần

khác biệt hơn tên máy của trường Nó có thể bao gồm các kí tự trắng, hoặc các kí tự không phải mã ASCCII và có thể được thay đổi

 Rows: là một tùy chọn mà bạn đã thấy trong trường ‘text’, nó sẽ lưu trữ

trong cơ sở dữ liệu Nếu chọn một con số lớn hơn 1, sẽ có một textarea trong mẫu lựa chọn số hàng tại đây , được lưu trữ là một trường text trong cơ sở dữ liệu

 Default Value: nơi đưa vào các giá trị mặc định của trường này, có thể sử

dụng hoặc để trống

 Group: Nếu có bật module Fieldgroup sẽ thấy tùy chọn đặt một nhóm vào

nơi đó Nếu chưa tạo nhóm nào thì sẽ không có bất kỳ ảnh hưởng nào

 Help Text: bất kỳ kiểu gì bên trong box ‘help text ‘ sẽ xuất hiện cho người

dùng như là một cách để mô tả cho cái mẫu này

Trang 31

 Request: Nếu lựa chọn để tạo một trường bị bắt buộc thì người sử dụng buộc

phải nhập

 Multiple Values: nhiều tùy chọn là một phần trong toàn bộ sự mạnh mẽ của

module CCK Nếu được chọn nguời sử dụng sẽ có thể lựa chọn hoặc tạo nhiều hơn một kiểu item

 Text Processing: đây là tùy chọn khác để duy nhất áp dụng cho trường text

Xác định nếu người sử dụng cho phép lựa chọn một bộ lọc (filter) cho text processing Đảm nhận tạo một text area bằng cách chọn nhiều hơn một hàng

 Maximum Length: (độ dài tối đa) tùy chọn chiều dài tối đa hoặc để trống

nếu là tùy chọn unlimit Nếu đây là một textfield , giá trị này sẽ dùng để sắp xếp khi tìm kiếm theo kích cỡ

 Allowed values list: nơi có thể định nghĩa danh sách các tùy chọn mà người

Views sử dụng nhiều thuật ngữ để mô tả như là:

 View: một view trình bày nội dung như một phần đơn lẻ của nội dung hoặc

nhiều phần của nội dung

 Page View: được thể hiện theo cách bình thường chỉ trình bày những ý chính

của một mẫu tin

 Block View: được trình bày theo khối tương tự như navigation bar, các mẫu

tin mới và các mẫu tin được xem nhiều nhất của một block view

 List view: cách trình bày đơn giản nhất của View là list view Cung cấp danh

sách không thứ tự , ví dụ như thẻ <UL> Hoặc có thứ tự theo tiêu đề được gửi

 Table view: trình bày theo bảng định dạng của nội dung, mỗi mẫu tin là một

hàng Có thể sắp xếp theo một trật tự nào đó của người thiết kế table view này

Trang 32

 Teaser view: trình bày tiêu đề của các bài gửi và liên kết đến phần nội dung

đầy đủ của chúng Một ví dụ tốt nhất để hiểu là xem trang chủ của http://drupal.org

 Field: Khi view tham chiếu đến một field đã được trình bày trong phần

View Ví dụ: một tracker view (trình bày những gì được cập nhật mới nhất trong một table) liệt kê theo kiểu tiêu đề, tác giả, số thứ tự của comment Mỗi entry là một field, Views duy nhất sử dụng các field trong danh sách và table views

 Arguments: Views có thể có vài argument trong địa chỉ URL Số 1 là

argument dùng để lọc view xem cụ thể hơn

 Argument default: khi một view có argument và một argument không được

cung cấp thì argument mặc định sẽ được dùng để mô tả hành động của View Có hành động được diễn ra:

- “Page not found”có thể được thể hiện

- Liệt kê tất cả các giá trị Ví dụ: nếu argument được hỗ trợ cho User

ID, views sẽ liệt kê các bài viết của user đó Tuy nhiên argument không được cung cấp và argument mặc định được thiết lập “all values” thì view sẽ liệt kê các bài viết của tất cả các user

- Trình bày theo Summany View Trong cơ chế này view sẽ phát sinh tất cả các argument có thể để đưa vào trong cơ sở dữ liệu và cung cấp một bảng danh sách cho phép người dùng chọn Đây là dạng archive-style view

Ví dụ : view thiết lập giá trị URL là “archive” Nếu View argument có tùy chọn là “Year + Month” và giá trị thiết lập là “Summany View”, thì View sẽ liệt kê kết hợp cả hai kiểu để tìm những bài gửi theo year và month

- Fitter: dùng để lọc kết quả Ví dụ : Nếu View không được thiết lập

thì kết quả sẽ liệt kê tất cả các nội dung tìm thấy Nếu chọn fitter thì sẽ lọc những gì cần xem

- Expossed Fitter: là bộ lọc cho phép người sử dụng lựa chọn theo

dạng textbox hoặc listbox, chỉ có giá trị dùng cho dạng page view

Trang 33

- Sort Critenia: Nội dung cần được sắp xếp theo một trật tự nào đó

Mặc định Drupal sẽ sắp xếp theo dạng ngày tháng (date), tức là nội dung được gửi mới đây nhất Điều này rất cần thiết cho trang chủ

- Default View: Views là các module để có thiết lập mặc định của

chúng Các view sẽ tự động xuất hiện trên hệ thống khi nó được cài đặt và

có thể được tắt hay mở (disable hay enable ) Cũng có thể ghi đè bằng cách tạo một cái cùng tên Cách đơn giản nhất để làm ra là nhấn add và sau đó

chỉnh sửa view theo ý rồi lưu lại

1.4.9.2 Các tùy chọn cơ bản của View:

Views có 3 tùy chọn cơ bản :

 Name: mỗi View phải có một đơn vị tên, để xác định views trong Drupal

Tên có thể quan trọng nếu view ghi đè lên default view, và cũng dùng cho giao diện, tên không dùng khoảng trắng và dấu gạch dưới

 Access: có thể điều khiển các role access của view, đơn giản là check vào

các role này Nếu các role này không được check thì tất cả các role sẽ được truy cập Phải chắc chắn là không có tùy chọn nào tại “access all views” cho nhóm người dùng nặc danh (anonymous) trong admin, user, access page

 Description: mô tả của View sẽ duy nhất được trình bày trên trang quản trị

View, có thể điền bất kỳ gì tại đây

Trang 34

1.5 Thương mại điện tử (E-Commerce)

- Thương mại điện tử chỉ việc thực hiện các giao dịch thương mại dựa trên các công

cụ điện tử mà cụ thể là mạng Internet và WWW (tức là những trang web hay website) Ví dụ: việc trưng bày hình ảnh hàng hóa, thông tin về doanh nghiệp trên website hay liên lạc với khách hàng qua email

- Thương mại điện tử có thể được chia làm bốn loại:

 Mô hình Business-to-Consumer (từ doanh nghiệp tới khách hàng):

trong mô hình này, thương mại điện tử được diễn ra, điều khiển bởi một khách hàng là người dùng ở nhà trên một máy tính và một doanh nghiệp

 Mô hình Business-to-Business (từ doanh nghiệp tới doanh nghiệp):

trong mô hình này, thương mại điện tử được tiến hành giữa hai doanh nghiệp Nó bao gồm hàng hóa thương mại như là sự thoả thuận doanh nghiệp, những dịch vụ chuyên nghiệp, và những giao dịch bán sỉ Đôi khi, doanh nghiệp có thể tồn tại giữa những công ty ảo, mặc dù không có bất kỳ mối quan hệ vật lý nào

 Mô hình Consumer-to-Consumer (từ khách hàng tới khách hàng):

trong mô hình này, thương mại điện tử được diễn ra giữa hai khách hàng Việc này có thể được tìm thấy ở nơi bán đấu giá Trong ví dụ này, thương mại được diễn ra giữa khách hàng là người đang bán đấu giá và những khách hàng đang đặt giá cho nó Người khách hàng đang bán đấu giá sẽ quyết định giá cho sản phẩm Những khách hàng đang đặt giá sẽ phân tích sản phẩm và quyết định chúng đáng giá bao nhiêu

 Mô hình Consumer-to-Business (từ khách hàng tới doanh nghiệp):

trong mô hình này, thương mại điện tử được diễn ra giữa một khách hàng

và một doanh nghiệp Mô hình này vẫn còn nằm trong giai đoạn phát triển Nó sẽ trở thành một mô hình mà trong đó hàng hóa được sản sinh

và giá của sản phẩm sẽ phụ thuộc vào khách hàng hơn là nhà cung cấp Điều đó sẽ chỉ ra con đường cách mạng hóa mà các doanh nghiệp sẽ được chỉ đạo qua mạng hoặc bằng cách khác

Trang 35

- Có nhiều cấp độ thực hiện thương mại điện tử Ở cấp độ cơ bản, doanh nghiệp chỉ

có thể mới có website trưng bày thông tin, hình ảnh, tìm kiếm khách hàng qua mạng, liên hệ với khách hàng qua email Cấp độ cao hơn thì doanh nghiệp đã có thể thực hiện một số giao dịch trên mạng như cho khách hàng đặt hàng thẳng từ trên mạng, quản lý thông tin khách hàng, có thể xử lý thanh toán qua mạng bằng thẻ tín dụng …

- Đối với tình hình Việt Nam hiện nay thì thương mại điện tử giúp rất nhiều cho việc marketing và tìm kiếm khách hàng qua mạng Đặt biệt là các doanh nghiệp sản xuất hàng hóa xuất khẩu

1.6 Thương mại điện tử và lợi ích cho doanh nghiệp

- Thương mại điện tử nên được xem là một công cụ hỗ trợ thương mại truyền thống trong bối cảnh Việt Nam hiện nay Ở Việt Nam hiện nay chưa có doanh nghiệp nào

có các hoạt động kinh doanh hoàn toàn dựa trên mạng Internet Các lý do bên dưới

sẽ giúp bạn nhận ra những lợi ích mà thương mại điện tử sẽ mang lại cho doanh nghiệp của bạn:

 Quảng bá thông tin và tiếp thị cho một thị trường toàn cầu với chi phí cực thấp: chỉ với vài chục đô-la Mỹ mỗi tháng, bạn có thể đưa thông tin

quảng cáo của bạn đến với vài trăm triệu người xem từ các nơi trên thế giới

 Dịch vụ tốt hơn cho khách hàng: với thương mại điện tử bạn có thể cung

cấp thông tin, bảng báo giá cho đối tượng khách hàng một cách cực kỳ nhanh chóng, bạn có thể tạo điều kiện cho khách hàng mua hàng trực tuyến từ trên mạng …

 Tăng doanh thu: với thương mại điện tử, đối tượng khách hàng của bạn giờ

đây đã không còn bị giới hạn về mặt địa lý hay thời gian làm việc Bạn không chỉ có thể bán hàng cho cư dân trong thành phố của bạn, mà bạn còn

có thể bán hàng trong cả nước Việt Nam hoặc các nước khác

 Giảm chi phí hoạt đông: với thương mại điện tử bạn không phải tốn kém

nhiều cho việc thuê cửa hàng, mặt bằng, đông đảo nhân viên phục vụ, bạn cũng không phải đầu tư nhiều cho kho chứa …

Trang 36

 Lợi thế cạnh tranh: việc kinh doanh trên mạng là một “sân chơi” cho sự

sáng tạo, nơi đây bạn tha hồ áp dụng những ý tưởng hay nhất, mới nhất về dịch vụ hỗ trợ, chiến lược tiếp thị…

1.7 Các bước triển khai thương mại điện tử

- Các doanh nghiệp vừa và nhỏ Việt Nam muốn áp dụng thương mại điện tử vào kinh doanh cần tham khảo năm bước sau, trong đó ba bước đầu rất cần thiết, hai bước sau tùy chọn, phụ thuộc vào nhu cầu thực tế của doanh nghiệp và của khách hàng của doanh nghiệp Các bước đó là:

a/ Hiện diện trên mạng: có một website giới thiệu thông tin, hình ảnh, hàng hóa,

dịch vụ…

 Mua tên miền (domain)

 Mua dịch vụ lưu trữ trực tuyến (hosting)

 Viết nội dung cho các trang web

 Thiết kế web

 Bảo trì web và cập nhật thông tin

b/ Quảng bá website: (e-marketing)

c/ Hỗ trợ khách hàng qua mạng:

 Thanh toán qua mạng: không nhất thiết phải thực hiện, nếu không thực sự có nhu cầu, hiện nay chỉ có nhu cầu nếu doanh nghiệp bán lẻ hàng hóa ra nước ngoài

 Đổi mới phương thức kinh doanh: dành cho doanh nghiệp “nghiêng” nhiều hơn về những mô hình kinh doanh trên mạng

d/ Đổi mới tư duy

e/ Đổi mới cung cách kinh doanh

Trang 37

CHƯƠNG 2 GIỚI THIỆU

2.1 Yêu cầu thực tế và lý do thực hiện đề tài

Chúng em tìm hiểu về Drupal và xây dựng web bán hàng qua mạng để cung cấp cho người dùng các thông tin và chi tiết xác thực của các mặt hàng và tạo khả năng chuyên môn hóa cao trong kinh doanh

2.1.1 Yêu cầu thực tế

Trong những năm gần đây, sự phát triển của Thương Mại Điện Tử Commerce) đã đem lại nhiều lợi ích to lớn cho nền kinh tế toàn cầu Thông qua Thương Mại Điện Tử, nhiều loại hình kinh doanh mới được hình thành, trong dó có mua bán hàng trên mạng Với hình thức mới này, người tiêu dùng có thể tiếp cận với hàng hoá một cách dễ dàng và nhanh chóng hơn rất nhiều so với phương thức mua bán truyền thống

(E-Những tưởng với những thế mạnh của các trang web bán hàng sẽ dần thay thế các gian hàng hay các siêu thị truyền thống Nhưng trên thực tế người mua vẫn còn rất mặn mà với phương pháp mua bán cũ Một phần vì phương thức mua bán cũ dần dần từng bước chuyển từ thói quen thành một nếp văn hóa, văn hóa mua sắm Khi đó, người ta xem hoạt động mua sắm là một hoạt động không thế thiếu trong nền văn hóa đó, điều đó có thể tạo nên một sự chuyển biến lớn trong nền thương mại nói chung Mặt khác, các trang web bán hàng hiện nay dù đã được phát triển nhưng thực sự vẫn chưa thể thay thế được các cửa hàng thực tế

Trang 38

2.1.2 Lý do thực hiện đề tài

Tuy mới phát triển mạnh mẽ khoảng hơn 10 năm qua nhưng Thương Mại Điện Tử đã khẳng định được vị thế và xu hướng tất yếu của nền kinh tế hiện đại Trước sức cạnh tranh mạnh mẽ trên phạm vi toàn cầu, Internet và Thương Mại Điện

Tử đã mở ra một thị trường không biên giới khắp toàn cầu, tạo cho các doanh nghiệp nhiều cơ hội mới để tiếp cận với bạn hàng khắp nơi trên thế giới

Thực sự thị trường kinh doanh điện tử đã tạo ra một sân chơi nơi các nhà cung cấp nhỏ có thể cạnh tranh tốt với những công ty lớn Tuy nhiên không phải mọi người bán đều muốn sự bình đẳng của sân chơi Tham gia sân chơi này, các nhà cung cấp nhỏ có thể tăng được số lượng mặt hàng nhưng điều đó cũng có nghĩa

là họ phải cạnh tranh khốc liệt về mặt giá cả

Trong quá trình hội nhập kinh tế Quốc tế, đòi hỏi các doanh nghiệp phải nâng cao trình độ quản lý, trình độ kinh doanh và trình độ ứng dụng khoa học kỹ thuật Vì vậy, phát triển Thương Mại Điện Tử là vấn đề cần được quan tâm

Muốn vậy, chúng ta cần nắm rõ tình hình Thương Mại Điện Tử của các nước trên thế giới Từ đó áp dụng sao cho phù hợp với tình hình kinh tế thế giới Từ đó,

áp dụng sao cho phù hợp với tình hình kinh tế Việt Nam

Trên cơ sở đó, chúng em quyết định tìm hiểu về Drupal và xây dựng trang web bán hàng qua mạng phù hợp với tình hình trong nuớc

Trang 39

2.2 Mục Tiêu Đề Ra

2.2.1 Về mặt lý thuyết

 Nắm được các kiến thức cơ bản về Thương Mại Điện Tử

 Nắm được cơ sở lý thuyết chung về công cụ Drupal và các vấn đề trong Drupal

 Nhận ra những mặt thiếu sót của các trang web bán hàng hiện nay Những tiện ích, dịch vụ mà các trang web cần cung cấp hoặc nâng cao hơn để có thể nâng cao vị thế của mình trong nền kinh tế hàng hóa

2.2.2 Về mặt ứng dụng

 Xây dựng cơ sở dữ liệu đáp ứng cho việc lưu trữ tất cả các loại mặt hàng

 Dựa vào tình hình TMĐT Việt Nam, xây dựng nên trang web thích hợp với nền kinh tế đất nước, hỗ trợ tốt cho các doanh nghiệp cũng như khách hàng

Trang 40

Sức mạnh và thuận lợi của công nghệ Web đã giúp các công ty, doanh nghiệp đưa các hoạt động kinh doanh của mình đến gần với người dùng hơn Sử dụng Web các công ty có thể đưa đến người dùng từ những mẫu quảng cáo nhỏ, các mặt hàng, dịch vụ mà công ty cung cấp đến các hoạt động mua bán với khách hàng Chính điều đó đã hình thành một phương thức mua bán hoàn toàn mới mẻ và đang trở nên hoạt động phổ biến trên Internet, mua bán hàng qua mạng dựa trên cơ chế doanh nghiệp với khách hàng (B2C – Business To Customer)

3.1.2 Bản đặc tả Website

- Khi lần đầu tiên vào trang Web người dùng có thể:

 Xem thông tin sản phẩm

 Tìm kiếm thông tin sản phẩm

Ngày đăng: 30/10/2022, 20:03

w