Tài liệu Đề tài Tìm hiểu cms joomla ứng dụng xây dựng siêu thị sách trực tuyến: ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511)3 736 949, Fax. (84-511) 842 771
Website: , E-mail: cntt@edu.ud.vn
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI :
TÌM HIỂU CMS JOOMLA
ỨNG DỤNG XÂY DỰNG SIÊU THỊ SÁCH TRỰC TUYẾN
Mã số : 03T1-039
Ngày bảo vệ : 10 - 11/06/2008
SINH VIÊN : TRẦN VĂN VẼ
LỚP : 03T1
CBHD : Ks. TRỊNH CÔNG DUY
ĐÀ NẴNG, 05/2008
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
…………………………...
105 trang |
Chia sẻ: hunglv | Lượt xem: 1550 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Tìm hiểu cms joomla ứng dụng xây dựng siêu thị sách trực tuyến, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511)3 736 949, Fax. (84-511) 842 771
Website: , E-mail: cntt@edu.ud.vn
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI :
TÌM HIỂU CMS JOOMLA
ỨNG DỤNG XÂY DỰNG SIÊU THỊ SÁCH TRỰC TUYẾN
Mã số : 03T1-039
Ngày bảo vệ : 10 - 11/06/2008
SINH VIÊN : TRẦN VĂN VẼ
LỚP : 03T1
CBHD : Ks. TRỊNH CÔNG DUY
ĐÀ NẴNG, 05/2008
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
NHẬN XÉT CỦA GIÁO VIÊN DUYỆT
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông
tin cũng như các thầy cô giảng dạy trong trường Đại học Bách khoa Đà
Nẵng đã truyền đạt những kiến thức quý báu cho tôi trong những năm
học vừa qua.
Đặc biệt, tôi xin chân thành cảm ơn Thầy giáo Trịnh Công Duy đã
trực tiếp, tận tình giúp đỡ và hướng dẫn tôi trong suốt thời gian làm đồ
án tốt nghiệp.
Và để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình
đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá
trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.
Một lần nữa xin chân thành cám ơn!
Đà Nẵng, ngày 30 tháng 05 năm 2008
Sinh viên thực hiện:
Trần Văn Vẽ
LỜI CAM ĐOAN
Tôi xin cam đoan :
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của của thầy giáo Ks.Trịnh Công Duy.
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng
tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian
trá, tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên thực hiện:
Trần Văn Vẽ
i
Mục lục ii
MỤC LỤC
MỞ ĐẦU ...........................................................................................................7
.I Bối cảnh của đề tài ........................................................................................................7
.II Lý do chọn đề tài ..........................................................................................................8
.III Mục tiêu cụ thể ............................................................................................................8
.IV Giải pháp công nghệ ....................................................................................................9
.V Kết quả mong đợi .........................................................................................................9
.V.1. Cập nhật thông tin hàng hóa trực tuyến nhanh chóng và chính xác. ..............10
.V.2. Đặt hàng trực tuyến .........................................................................................10
.V.3. Quản lý các đơn đặt hàng trực tuyến, hóa đơn, báo cáo .................................10
.V.4. Quản lý khách hàng .........................................................................................10
.VI Nội dung tóm tắt các chương tiếp theo .....................................................................11
CƠ SỞ LÝ THUYẾT ....................................................................................12
.I Tổng quan về CMS ......................................................................................................12
.I.1. Giới thiệu CMS .................................................................................................12
.I.2. Tính hướng đối tượng trong CMS ....................................................................12
.I.3. Mô hình/cấu trúc CMS ......................................................................................12
.I.4. Mô hình MVC ...................................................................................................13
.I.4.1. Tầng lấy dữ liệu .............................................................................................13
.I.4.2. Tầng hiển thị ..................................................................................................13
.I.4.3. Tầng điều khiển .............................................................................................13
.I.4.4. Nhân sự cho mô hình này ..............................................................................14
.II Giới thiệu về Joomla ...................................................................................................14
.II.1. Khái niệm Joomla ............................................................................................14
.II.2. Vài nét về lịch sử phát triển Joomla ................................................................15
.II.3. Các dòng phiên bản của Joomla ......................................................................16
.II.4. Kiến trúc của Joomla .......................................................................................16
.II.5. Đối với người sử dụng cuối .............................................................................17
.II.6. Ứng dụng của Joomla ......................................................................................17
.III Một số khái niệm trong Joomla. ................................................................................18
.III.1. Front-end và Back-end ...................................................................................18
.III.1.1. Front-end ....................................................................................................18
.III.1.2. Back-end .....................................................................................................18
.III.2. Các thành phần mở rộng (Extension) .............................................................19
.III.2.1. Module ........................................................................................................19
.III.2.2. Component ..................................................................................................21
.III.2.3. Mambot .......................................................................................................23
.III.2.4. Menu ...........................................................................................................24
.III.3. Quản lý nội dung site .....................................................................................25
.III.4. Template .........................................................................................................26
.IV Quản trị trong Joomla ...............................................................................................28
.IV.1. Tổng quan về phần quản trị ...........................................................................28
.IV.2. Tạo một chủ đề mới (Section) ........................................................................32
.IV.3. Tạo một chuyên mục mới (Category) ............................................................32
Mục lục iii
.IV.4. Thêm một bài viết (Content Item) .................................................................32
.IV.5. Cài đặt Component .........................................................................................33
.IV.6. Cài đặt Mambot ..............................................................................................33
.IV.7. Cài đặt Module ...............................................................................................33
.IV.8. Cài đặt Templates ...........................................................................................33
.IV.9. Vị trí các module trong template ...................................................................34
.IV.10. Thêm một vị trí module vào template ..........................................................36
.IV.11. Quản lý hình ảnh ..........................................................................................37
.IV.12. Quản lý người dùng (Users) .........................................................................37
.IV.13. Thêm một liên hệ .........................................................................................38
.IV.14. Thêm một module HTML ............................................................................38
.V Một số thủ thuật để tối ưu và bảo mật Joomla ...........................................................38
.V.1. Tăng tốc cho Joomla ........................................................................................38
.V.2. Cải thiện các truy vấn SQL .............................................................................39
.V.3. Bảo vệ file Configuration.php khỏi các truy cập trái phép .............................41
.V.4. Bảo mật trang quản trị bằng mật khẩu ............................................................42
XÂY DỰNG ỨNG DỤNG SIÊU THỊ SÁCH TRỰC TUYẾN TRÊN CMS
JOOMLA ........................................................................................................43
.I Môi trường và công cụ để phát triển ứng dụng ............................................................43
.II Cài đặt Joomla ............................................................................................................45
.III Việt hóa Joomla .........................................................................................................50
.III.1. Tiến hành Việt hóa Joomla ............................................................................50
.III.2. Cài đặt gói ngôn ngữ cho Joomla ...................................................................52
.III.3. Sử dụng JoomFish để xây dựng Website đa ngôn ngữ ..................................52
.IV Thiết kế Template .....................................................................................................61
.IV.1. Vị trí các module và component ....................................................................61
.IV.2. Cấu trúc Template ..........................................................................................64
.IV.3. templateDetails.xml .......................................................................................65
.IV.4. index.php ........................................................................................................67
.IV.5. template_css.css .............................................................................................69
.IV.6. Cài đặt Template ............................................................................................76
.V Component ..................................................................................................................78
.V.1. Cấu trúc chung của một component ................................................................78
.V.2. yourcom.php và yourcom.html.php ................................................................79
.V.3. admin.yourcom.php và file admin.yourcom.html.php ....................................80
.V.4. toolbar.yourcom.php và toolbar.yourcom.html.php ........................................80
.V.5. file.xml ............................................................................................................81
.VI Thiết kế Modules danh mục sản phẩm ......................................................................83
.VI.1. mod_list_product.xml ....................................................................................83
.VI.2. mod_list_product.php ....................................................................................85
TRIỂN KHAI ỨNG DỤNG ..........................................................................88
.I Cài đặt website trên web host ......................................................................................88
.II Kết quả demo ..............................................................................................................91
.II.1. Trang chủ .........................................................................................................91
.II.2. Đăng nhập ........................................................................................................91
.II.3. Lựa chọn mục sản phẩm ..................................................................................92
.II.4. Chọn sản phẩm vào giỏ hàng ...........................................................................92
Mục lục iv
.II.5. Gửi đơn hàng ...................................................................................................93
KẾT LUẬN ....................................................................................................94
.I Kết quả thu được ..........................................................................................................94
.II Nhận xét ......................................................................................................................94
.II.1. Ưu điểm ...........................................................................................................94
.II.2. Nhược điểm .....................................................................................................95
.III Phạm vi ứng dụng .....................................................................................................95
.IV Hướng phát triển .......................................................................................................95
Mục lục v
DANH MỤC HÌNH
HÌNH 1: CẤU TRÚC NỘI DUNG WEBSITE JOOMLA.........................25
HÌNH 2:NHÓM NGƯỜI DÙNG VÀ ĐIỀU KHIỂN TRUY CẬP............32
HÌNH 3 : VỊ TRÍ CỦA CÁC MODULE.....................................................34
HÌNH 4 : VỊ TRÍ CỦA CÁC MODULE MẶC ĐỊNH TRÊN JOOMLA 35
HÌNH 5: XEM NHANH VỊ TRÍ CÁC MODULE......................................36
HÌNH 6 : CÁC GÓI CÀI ĐẶT XAMPP.....................................................44
HÌNH 7 : CÁC PHIÊN BẢN JOOMLA......................................................44
HÌNH 8 : CÁC GÓI PHIÊN BẢN JOOMLA 1.0.......................................44
HÌNH 9 :KHỞI ĐỘNG XAMPP..................................................................45
HÌNH 10 : VÀO PHPMYADMIN................................................................45
HÌNH 11 : TRANG MẶC ĐỊNH CỦA PHPMYADMIN..........................46
HÌNH 12 : TẠO CƠ SỞ DỮ LIỆU MỚI.....................................................46
HÌNH 13 : BẮT ĐẦU CÀI ĐẶT JOOMLA................................................46
HÌNH 14 : GIẤY PHÉP SỬ DỤNG JOOMLA..........................................47
HÌNH 15 : THÔNG TIN KẾT NỐI CƠ SỞ DỮ LIỆU..............................47
HÌNH 16 : THÔNG BÁO XÁC NHẬN LẠI THÔNG TIN.......................47
HÌNH 17 : ĐẶT TÊN SITE..........................................................................48
HÌNH 18 : CẤU HÌNH URL, PATH, THÔNG TIN ADMIN...................48
HÌNH 19 : CÀI ĐẶT THÀNH CÔNG.........................................................49
HÌNH 20 : CÀI ĐẶT JOOMFISH...............................................................53
HÌNH 21 : MÀN HÌNH JOOMFISH...........................................................53
HÌNH 22 : CÀI ĐẶT NGÔN NGỮ..............................................................53
HÌNH 23 : KIỂM TRA NGÔN NGỮ..........................................................54
HÌNH 24 : DANH MỤC NGÔN NGỮ.........................................................54
HÌNH 25 : QUẢN LÝ NGÔN NGỮ.............................................................54
HÌNH 26 : QUẢN LÝ NGÔN NGỮ.............................................................55
HÌNH 27 : KÍCH HOẠT NGÔN NGỮ........................................................56
HÌNH 28 : KÍCH HOẠT NGÔN NGỮ........................................................56
HÌNH 29 : THỨ TỰ NGÔN NGỮ...............................................................56
Mục lục vi
HÌNH 30 : LƯU NGÔN NGỮ......................................................................57
HÌNH 31 : ĐIỀU CHỈNH CHUẨN NGÔN NGỮ.......................................58
HÌNH 32 : CHỌN HIỂN THỊ MODULE CHỌN NGÔN NGỮ...............59
HÌNH 33 : DỊCH BÀI VIẾT VÀ THÀNH PHẦN TRONG JOOMLA....60
HÌNH 34 : MẶC ĐỊNH TRONG JOOMFISH...........................................61
HÌNH 35 : VỊ TRÍ MODULE VÀ COMPONENT MÀ JOOMLA CUNG
CẤP.................................................................................................................62
HÌNH 36 : DANH SÁCH VỊ TRÍ MODULE VÀ COMPONENT............62
HÌNH 37 : VỊ TRÍ MODULE VÀ COMPONENT....................................63
HÌNH 38 : ĐOẠN MÃ TẠO VỊ TRÍ MODULE VÀ COMPONENT......64
HÌNH 39 : TẬP CÁC FILE CỦA TEMPLATE.........................................65
HÌNH 40 : THÀNH PHẦN CSS MẶC ĐỊNH CỦA JOOMLA.................70
HÌNH 41 : CÀI ĐẶT FRONT END TEMPLATE.....................................76
HÌNH 42 : CÀI ĐẶT FRONT END TEMPLATE 1..................................77
HÌNH 43 : DANH MỤC CÁC TEMPLATE...............................................78
HÌNH 44 : THANH CÔNG CỤ CỦA JOOMLA........................................80
HÌNH 45 : PHẦN QUẢN LÝ HOST...........................................................88
HÌNH 46 : TẠO CƠ SỞ DỮ LIỆU MỚI.....................................................88
HÌNH 47 : TẠO USER MỚI........................................................................89
HÌNH 48 : ADD USER VÀO CƠ SỞ DỮ LIỆU.........................................89
HÌNH 49 : DATABASE ỨNG VỚI USER..................................................89
HÌNH 50 : PHẦN QUẢN LÝ HOST...........................................................90
HÌNH 51 : TRANG CHỦ WEBSITE..........................................................91
HÌNH 52 : THÀNH VIÊN ĐĂNG NHẬP...................................................91
HÌNH 53 : DANH MỤC LỰA CHỌN SẢN PHẨM...................................92
HÌNH 54 : GIỎ HÀNG.................................................................................93
HÌNH 55 : NỘI QUY MUA HÀNG.............................................................93
HÌNH 56 : GỬI ĐƠN HÀNG.......................................................................93
MỞ ĐẦU
.I Bối cảnh của đề tài
Ngày nay, thông tin đã và đang dần chuyển hướng phát triển của mình sang các
dịch vụ Web. Một trong những dịch vụ người người ta khá quan tâm là Thương mại
Điện tử. Dịch vụ này giúp những bận rộn, thường xuyên làm việc trong các phòng
máy, phòng thí nghiệm…có thể tiết kiệm được thời gian đi mua sắm để tập trung vào
công việc của mình.
Nhờ Thương mại Điện tử, chỉ cần vài thao tác đơn giản trên máy tính có kết nối với
Internet, bạn sẽ có tận tay những thứ mình cần mà không phải đi đâu cả. Bạn chỉ cần
vào các trang dịch vụ Thương mại Điện tử là có thể mua bất cứ thứ gì, nhân viên dịch
vụ sẽ mang đến tận nhà cho bạn. Việc thanh toán cũng thật dễ dàng, có thể gián tiếp
qua các hệ thống ngân hàng hoặc trực tiếp nếu bạn muốn. Vậy, thực chất của Thương
mại Điện tử là như thế nào?
Để tìm hiểu mô hình hoạt động cũng như quá trình xây dựng một ứng dụng có tính
chất thương mại trực tuyến, tôi xin giới thiệu đề tài “Tìm hiểu CMS Joomla, ứng dụng
để xây dựng siêu thị sách trực tuyến” là đề tài nghiên cứu cho Đồ án tốt nghiệp này.
Mặc dù ứng dụng đã triển khai được phần lớn các yêu cầu chính mà một ứng dụng
Thương mại Điện tử cần đáp ứng, tuy nhiên với thời gian hạn chế, việc tìm hiểu và
xây dựng một ứng dụng trên công nghệ Joomla là khá khó khăn. Do đó, ứng dụng này
không tránh khỏi những thiếu sót, rất mong nhận được nhiều ý kiến nhận xét quý báu
của quý thầy cô và các bạn để tôi có thể rút kinh nghiệm cho việc xây dựng những
ứng dụng thực tế sau này.
Trần Văn Vẽ-03T1 7
Tìm hiểu CMS Joomla. Ứng dụng xây dựng siêu thị sách trực tuyến
.II Lý do chọn đề tài
Trong thời đại phát triển bùng nổ của Công nghệ thông tin(CNTT) và quan hệ hợp
tác toàn cầu phát triển mạnh mẽ, nhất là khi Việt Nam đã trở thành thành viên chính
thức của WTO, việc áp dụng tính chuyên nghiệp và các mô hình quản lý sản xuất -
kinh doanh chuyên nghiệp - hiện đại thông qua mô hình “Tin học hoá doanh nghiệp”
để theo kịp sự phát triển của xã hội là yếu tố cần thiết, đẩy mạnh sự phát triển của
doanh nghiệp và giúp cho doanh nghiệp gặt hái được nhiều thành công trong môi
trường sản xuất - kinh doanh năng động và đang thay đổi nhanh chóng như hiện nay.
Thương mại điện tử là một trong những vấn đề nóng bỏng, mặc dù khái niệm này
đã khá quen thuộc với nhiều người Việt Nam, song những dịch vụ tiện lợi này trên
thực tế vẫn còn chưa phổ biến. Chính vì vậy, tôi chọn đề tài này với mong muốn tự
trang bị cho mình những hiểu biết chung về thương mại điện tử, kỹ năng và phương
pháp xây dựng và phát triển các ứng dụng thương mại điện tử, góp một phần nhỏ
trong bước chuyển mình của dịch vụ này.
.III Mục tiêu cụ thể
o Nắm được cơ sở lý thuyết chung về thương mại điện tử và các vấn đề
liên quan đến thương mại điện tử.
o Tìm hiểu các Website thương mại điện tử lớn đã được triển khai để nắm
được cách thức hoạt động và những yêu cầu cần thiết đối với ứng dụng thương
mại điện tử.
o Xác định đối tượng khách hàng mà mình hướng tới để phục vụ.
o Lựa chọn giải pháp công nghệ thích hợp cho việc xây dựng và phát triển
ứng dụng đã chọn.
o Tìm hiểu về CMS Joomla và những tính năng của nó.
o Xây dựng ứng dụng thương mại điện tử dựa trên nền tảng CMS Joomla
có thể đáp ứng được nhu cầu của đối tượng phục vụ.
Trần Văn Vẽ-03T1 8
Tìm hiểu CMS Joomla. Ứng dụng xây dựng siêu thị sách trực tuyến
o Tính toán, đưa ra phương pháp và kế hoạch thực hiện dự án trong thời
gian ngắn nhất và chi phí thấp nhất có thể.
.IV Giải pháp công nghệ
Sử dụng nền tảng là Joomla, Joomla! cung cấp 1 nền tảng ứng dụng mạnh mẽ tạo
điều kiện thuận lợi cho các lập trình viên thiết kế ra các add-ons nhằm mở rộng sức
mạnh của Joomla nhắm đáp ứng tối đa nhu cầu của doanh nghiệp.
− Hệ thống thương mại điện tử tích hợp
− Hệ thống kiểm soát hàng hoá
− Công cụ báo cáo dữ liệu
− Danh mục hàng hoá
− Các thư mục kinh doanh phức tạp
− Công tự hỗ trợ giao tiếp
− Cầu nối ứng dụng
.V Kết quả mong đợi
Dựa trên nền tảng công nghệ Web phát triển nhiều năm qua, tôi đã nghiên cứu và
phát triển hệ thống quản trị nội dung website thương mại điện tử Online
SuperMarket với đầy đủ các tính năng ưu việt đảm bảo có thể cung cấp đầy đủ, hoàn
chỉnh các chức năng mạnh mẽ, hỗ trợ cho việc thực hiện thương mại điện tử trực
tuyến cho các siêu thị, các nhà sách lớn trong nước.
Qua hệ thống website thương mại điện tử này, các doanh nghiệp có thể được sở
hữu một hệ thống quản trị website hoàn hảo và dễ dàng sử dụng mà không câǹ qua
đaò tạo, không cần phải biết về thiết kế và lập trình website baṇ cũng có thể quản trị
và xuất ban̉ website một caćh xuất săć.
Những tính năng chính mà hệ thống Online SuperMarket cung cấp:
Trần Văn Vẽ-03T1 9
Tìm hiểu CMS Joomla. Ứng dụng xây dựng siêu thị sách trực tuyến
.V.1. Cập nhật thông tin hàng hóa trực tuyến nhanh chóng
và chính xác.
Không giới hạn chủng loại sản phẩm
Không giới hạn số lượng sản phẩm
Thiết kế theo cấu trúc Section - Category - Content
Cấu trúc sản phẩm Section - Category – Products
Hổ trợ nhiều ngôn ngữ, dễ dàng cài đặt thêm ngôn ngữ
Hổ trợ nhiều template, cho phép thay đổi giao diện để hấp dẫn
người dùng
Hổ trợ nhiều loại tiền tệ
Bạn dễ dàng cập nhật và thường xuyên thay đổi những hình ảnh,
thông tin chi tiết, giá cả các mặt hàng mà bạn kinh doanh bất cứ lúc nào.
.V.2. Đặt hàng trực tuyến
Khách hàng của bạn có thể tìm kiếm và lựa chọn sản phẩm thêm hoặc bớt vào giỏ
hàng( Shopping Cart). Nhân viên phục vụ của siêu thị sẽ mang hàng đến tận nơi theo
đơn đặt hàng của khách hàng và thực hiện các thủ tục thanh toán.
.V.3. Quản lý các đơn đặt hàng trực tuyến, hóa đơn, báo cáo
Hệ thống quản lý, lưu trữ và báo cáo các thông tin về đặt hàng và trạng thái của
đơn hàng: đã giao hàng chưa, chờ thanh toán hay đã thanh toán đơn hàng.
.V.4. Quản lý khách hàng
Tất cả các các đơn đặt hàng đượclưu trữ vào CSDL giúp dễ dàng
truy xuất khi cần thiết.
Khách hàng có thể xem các đơn đặt hàng của họ và trạng thái
đơn đặt hàng(order tracking)
Khách hàng có thể quản lý và thay đổi tài khoản của họ.
Trần Văn Vẽ-03T1 10
Tìm hiểu CMS Joomla. Ứng dụng xây dựng siêu thị sách trực tuyến
Quản lý giỏ hàng tạm dành cho khách hàng chưa là thành viên
và giỏ haǹg giành cho khách haǹg là thành viên.
Giỏ haǹg lưu trữ thông tin hàng hoá khách haǹg đã chọn để hiên̉
thị lần sau khi khách hàng đăng nhập.
Công cụ tim̀ kiếm nhanh dễ sử dụng và có nhiều phương thức tìm
kiêḿ chi tiết.
Danh sách sản phẩm bán chạy - Sản phẩm mới.
Hê ̣thôńg tương thích hâù hết với các trình duyệt.
Tự động hiển thị những sản phẩm mới, sản phẩm khuyến mãi,
đặc biệt.
Tự động hiển thị trạng thái sản phẩm còn hay hết để khách hàng
có thể tiếp tục đặt hàng.
Khách hàng có thể đăng kí hoặc bỏ đăng kí nhận email về thông
tin sản phẩm của công ty thông qua hệ thống newsletters.
.VI Nội dung tóm tắt các chương tiếp theo
Chương I: Cơ sở lý thuyết
Chương II: Xây dựng ứng dụng siêu thị sách trực tuyến trên CMS Joomla
Chương III: Triển khai ứng dụng
Chương IV: Kết luận
Trần Văn Vẽ-03T1 11
CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
.I Tổng quan về CMS
.I.1. Giới thiệu CMS
Chúng ta có thể hình dung CMS như là một hệ điều hành trên máy tính, nghĩa là
CMS được sử dụng làm nền tảng để chạy những ứng dụng khác.
Ngoài ra, CMS giống như một thư viện, nó cung cấp những hàm, lớp cơ bản để
những người phát triển web khác có thể sử dụng, tùy biến, chỉnh sửa để CMS thành
một trang web phục vụ đúng nhu cầu của mình.
.I.2. Tính hướng đối tượng trong CMS
Trong giới hạn của báo cáo này, mặc dù rất muốn nhưng tôi không thể trình bày chi
tiết về lập trình hướng đối tượng. Trong lập trình web PHP, tư tưởng hướng đối tượng
chỉ mới được áp dụng trong PHP5, như vậy nghĩa là chúng ta hoàn toàn có thể xây
dựng một ứng dụng PHP theo phương pháp hướng đối tượng để có thể tối ưu nhất hệ
thống mình xây dựng.
Trong CMS, tư tưởng này cũng mới được áp dụng. Với một dự án lớn như Joomla,
việc sử dụng các phương thức cài đặt truyền thống thì thực sự quá khó, nếu không
muốn nói là không thể thực hiện được. Chính vì vậy, khi làm việc với Joomla, xây
dựng bất kỳ một ứng dụng cụ thể nào, chúng ta đều phải có kiến thức sâu về lập trình
hướng đối tượng để có thể áp dụng mang lại hiệu quả cao.
.I.3. Mô hình/cấu trúc CMS
Trong CMS, thì ngoài độ rộng của API, cái dễ phân biệt và đánh giá một CMS, có
lẽ là cấu trúc của nó. Nói tới cấu trúc của CMS, chúng ta không phải nói tới nó chạy
12
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
như thế nào, mà chính là những cái chạy trên nền CMS đó được chạy như thế nào.
Thực tế thì không riêng CMS, mà trên Programing nói chung, đều có những cấu trúc
được phát minh sẵn, và công việc của mình là biến lý thuyết thành hiện thực thôi.
Nói như vậy, cái chúng ta cần làm là phải hỗ trợ tối đa để những người phát triển
CMS của chúng ta có thể hiểu, và sử dụng tốt cái cấu trúc chúng ta hướng tới.
.I.4. Mô hình MVC
Mô hình MVC chuyên môn hóa cho những công việc khác nhau trong thiết kế phần
mềm cũng như trong thiết kế web.
Chia công việc thành 3 phần:
− Lấy dữ liệu (tầng core – gọi tắt là core)
− Hiển thị dữ liệu (tầng view – gọi tắt là view)
− Điều khiển (tầng controller – gọi tắt là controller)
.I.4.1. Tầng lấy dữ liệu
• Phụ trách nhiệm vụ xử lý dữ liệu từ user hoặc từ database.
• Biến các dữ liệu thô (chưa qua xử lí cơ bản) thành dữ liệu
có thể sử dụng được
• Bao gồm cả phần sao lưu dữ liệu
.I.4.2. Tầng hiển thị
• Phụ trách việc hiển thị dữ liệu để giao tiếp với người sử
dụng
• Biến các dữ liệu đã xử lý thành trang web đã hiển thị
.I.4.3. Tầng điều khiển
• Phụ trách việc liên hệ giữa 2 tầng trên: tầng dữ liệu và
tầng hiển thị
Trần Văn Vẽ, Lớp 03T1 13
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
• Tầng điều khiển cho tầng dữ liệu biết cần lấy những dữ
liệu gì, cho tầng hiển thị biết cần phải hiển thị phần nào. Chi tiết mỗi tầng dữ
liệu và tầng hiển thị do tầng đó chịu trách nhiệm, tầng điều khiển chỉ có nhiệm
vụ kết nối và ra lệnh bao quát.
.I.4.4. Nhân sự cho mô hình này
• Tầng core: người am hiểu về database, làm việc trực tiếp
tới database, hiểu biết về security ở tầng thấp
• Tầng view: thường là web-design
• Tầng controller: thường là những người vẽ ra con đường
tổng quát, không cần biết sâu tới core or view, nhưng có khả năng linh hoạt sử
dụng 2 bên. Đây thường là người viết mã chính cho dự án.
• Chú ý:
• Khi nói về người viết các tầng, thường thì controller làm
việc trực tiếp với cả core và view. Còn core và view thì không làm việc trực
tiếp với nhau, mà thông qua controller, và chỉ làm việc với controller.
• Khi nói về người viết CMS, nếu viết theo mô hình này,
chúng ta phải cung cấp cho web-developer những class, function sao cho họ có
thể áp dụng mô hình MVC được dễ dàng hơn, và tốt hơn
.II Giới thiệu về Joomla
.II.1. Khái niệm Joomla
Joomla! là một hệ quản trị nội dung mã nguồn mở(Content Management System –
CMS). Joomla! được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL,
cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc
Intranet.
Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển
thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn
Trần Văn Vẽ, Lớp 03T1 14
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
đàn, bình chọn, lịch biểu, tìm kiếm trong site và hỗ trợ đa ngôn ngữ. Joomla được
phát âm theo tiếng Swahili như là jumla nghĩa là "đồng tâm hiệp lực".
Joomla! được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho
tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch
vụ và ứng dụng. Joomla có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy
cao.Joomla là sản phẩm mã nguồn mở do đó việc sử dụng Joomla là hoàn toàn miễn
phí cho tất cả mọi người trên thế giới.
.II.2. Vài nét về lịch sử phát triển Joomla
Joomla là "sản phẩm anh em" với Mambo của tập đoàn Miro Software Solutions -
Úc (hãng đang nắm giữ Mambo) với những người phát triển nòng cốt. Ban đầu công
ty Miro đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng. Đến tháng 4 năm
2001, công ty đã thông qua một chính sách bản quyền kép, nghĩa là phát hành Mambo
theo cả giấy phép GPL.
Đến ngày 17 tháng 8 năm 2005, do sự tranh chấp về mặt pháp lý cũng như mong
muốn vào sự phát triển của Mambo dựa trên quỹ tài trợ và sự hỗ trợ của cộng đồng
nên toàn bộ đội phát triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làm
việc với phiên bản 4.5.3.
Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software Freedom Law
Center - SFLC), 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức phi
lợi nhuận khác lấy tên là Open Source Matters, để hỗ trợ về mặt tổ chức, pháp lý và
kinh phí cho dự án mã nguồn mở còn chưa được đặt tên của họ. Ngay ngày hôm sau,
1000 người đã gia nhập diễn đàn OpenSourceMatters, hầu hết các bài viết cho diễn
đàn đều khuyến khích và đồng tình với hành động của Nhóm Phát triển. Tin trên đã
nhanh chóng được đăng tải trên các tạp chí newsforge.com, eweek.com và
ZDnet.com.
Trong một thông báo của Eddie (người đứng đầu dự án) 2 tuần sau đó, các nhóm đã
được tổ chức lại và cộng đồng Joomla tiếp tục tăng trưởng. Tới ngày 1 tháng 9 năm
Trần Văn Vẽ, Lớp 03T1 15
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
2005 tên mới của dự án đã được thông báo cho khoảng 3000 người theo dõi đội Phát
triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla 1.0.
.II.3. Các dòng phiên bản của Joomla
Hiện nay Joomla có 2 dòng, dòng 1.0.x đã ổn định và phù hợp để các bạn thực hiện
các website của mình. Dòng 1.5 đang phát triển tới phiên bản beta, chỉ phù hợp để
test,chưa phù hợp để làm website chính thức.
− Dòng phiên bản 1.0.x :Phiên bản đầu tiên của Joomla là phiên bản Joomla!
1.0 (hay Joomla! 1.0.0) có nguồn gốc từ Mambo 4.5.2.3 (đã bao gồm thêm
nhiều bản vá bảo mật và sửa lỗi).Các phiên bản tiếp theo có dạng 1.0.x. Điểm
mạnh của Joomla 1.0.x: Có một số lượng rất lớn các thành phần mở rộng
(module, component ) thành phần nhúng (mambot), giao diện (template).
− Dòng phiên bản 1.5x : Phiên bản Joomla! 1.5 là phiên bản cải tiến từ Joomla
1.0.x (phần mã được viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử như
cũ). Joomla 1.5 tiếp tục duy trì một giao diện người sử dụng đơn giản (nhìn và
cảm nhận - look and feel). Joomla! 1.5 hỗ trợ đa ngôn ngữ bằng cách sử dụng
file định dạng ".ini" để lưu các thông tin chuyển đổi ngôn ngữ. Joomla 1.5 hỗ
trợ tất cả các ngôn ngữ có tập ký tự được biểu diễn bằng bảng mã UTF-8.
Điểm mạnh của Joomla 1.5: Phần quản trị Website có sử dụng công nghệ Web
2.0, một số tính năng được cải tiến hơn so với Joomla 1.0.x.
.II.4. Kiến trúc của Joomla
Joomla gồm có 3 tầng hệ thống:
− Tầng dưới cùng là mức nền tảng, chứa các thư viện và các plugin (còn được
biết với tên gọi mambot).
− Tầng thứ hai là mức ứng dụng và chứa lớp JApplication. Hiện tại tầng này
gồm 3 lớp con: JInstallation, JAdministrator và JSite.
− Tầng thứ ba là mức mở rộng. Tại tầng này có các thành phần (component),
mô đun (module) và giao diện (template) được thực thi và thể hiện.
Trần Văn Vẽ, Lớp 03T1 16
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.II.5. Đối với người sử dụng cuối
Việc cài đặt Joomla! khá dễ dàng và nhanh chóng, thậm chí cả đối với những lập
trình viên nghiệp dư. Joomla có một cộng đồng người sử dụng và phát triển rất lớn và
tăng trưởng không ngừng. Các thành viên và các lập trình viên rất nhiệt tình và sẵn
sàng tư vấn, giúp đỡ khi người sử dụng gặp khó khăn.
Joomla cung cấp giao diện web trực quan do vậy khá dễ dàng để thêm một nội
dung mới hay một mục mới, quản lý các phòng ban, danh mục nghề nghiệp, ảnh các
sản phẩm... và tạo không giới hạn số phần, mục, chuyên mục cũng như các nội dung
của Website.
Hiện tại ở Việt Nam chúng ta, cộng đồng Joomla đã và đang phát triển mạnh mẽ tại
diễn đàn.
Code:
Tại đây bạn có thể tìm kiếm những thông tin về cài đặt, phát triển Joomla cũng như
nêu lên những ý kiến thắc mắc hoặc yêu cầu của mình để được giúp đỡ.
.II.6. Ứng dụng của Joomla
Joomla! đã được sử dụng trên khắp thế giới, đã được ứng dụng vào xây dựng các
website từ đơn giản như website cá nhân tới các ứng dụng website phức tạp. Sau đây
là 1 số ứng dụng có thể được xây dựng bằng Joomla !
Trang web của các tổ chức hoặc các cổng thông tin ( Portal )
Thương mại điện tử
Trang web cho các công ty cỡ nhỏ
Ứng dụng cho các cơ quan hành chính
Trang web cho các trường học và nhà thờ
Trần Văn Vẽ, Lớp 03T1 17
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Trang web cá nhân và gia đình
Các cổng thông tin cộng đồng
Trang web báo điện tử và tạp chí
và nhiều ứng dụng khác nữa...
.III Một số khái niệm trong Joomla.
Lần đầu tiên khi tiếp xúc với Joomla! nhiều người luôn cảm thấy rằng có điều gì đó
khó hiểu ở Joomla! khiến cho việc tiếp cận với nó thật khó khăn. Đó chính là do các
khái niệm và thuật ngữ khác lạ của Joomla!, mà thật ra nó cũng chẳng khác lạ gì mấy
so với các hệ thống quản trị nội dung (CMS: Content management System) khác.
Phần này sẽ trình bày các khái niệm cơ bản trong Joomla!
.III.1.Front-end và Back-end
.III.1.1. Front-end
Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần giao diện
phía ngoài, nơi tiếp xúc với mọi người sử dụng. Bất cứ ai cũng có thể trông thấy khi
gõ đúng đường dẫn URL vào trình duyệt.
Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ.
.III.1.2. Back-end
Back-end, còn được biết với tên gọi Public Back-end, Administrator, Control Pane:
phần dành cho người quản trị. Những người bình thường không biết đường dẫn để
truy cập, hoặc nếu có biết thì cũng phải qua bước kiểm tra tài khoản.
Phần back-end được truy cập thông qua đường dẫn:
Trần Văn Vẽ, Lớp 03T1 18
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.III.2.Các thành phần mở rộng (Extension)
.III.2.1. Module
Module là một trong 3 thành phần mở rộng chính của Joomla! Đó là một đoạn mã
nhỏ thường được dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thị các kết
quả tìm được. Nó có thể được nạp vào một vị trí bất kỳ trên template (vị trí left, right,
top, bottom... hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trang
của Website hay một số trang được ấn định. Khả năng tương tác giữa người sử dụng
và hệ thống thông qua module là hạn chế (chúng ta thường chỉ nhận thông tin trả về).
Modules thường được dùng để hiển thị những thông tin khác nhau và/hoặc những
tính năng tương tác trong toàn bộ site Joomla của bạn. Một Module có thể chứa hầu
như bất kì thứ gì từ những văn bản đơn giản, đến HTML, đến những ứng dụng hoàn
toàn độc lập của các hãng thứ ba. Những Module cũng có thể hiển thị nội dung tương
tác, như các poll (thăm dò ý kiến), những tagboard, tin mới nhất, tin khẩn và nhiều
nữa.
Các Site Module khác với các Administrator Module bởi vì chúng hiển thị những
nội dung trong Front-end của site trong khi nhưng Admini Module liên quan đến các
tác vụ và/hoặc những tính năng khác nhau của Administrative (hoặc Back-end). Các
Module có thể được tạo bởi bạn (costom/user module) hay được tải về và cài đặt.
Quản lý cac module luôn luôn lằm trong Administrator (Admin Seciton). Vào
Modules \ Module Manager trên thanh Menu. Ở đó bạn có thể cài đặt/tháo bỏ một
module và chỉnh sửa nhứng cấy hình phổ biến như là: tên, những trang nó xuất hiện,
vùng đặt nó, và cấp độ truy cập. Từ danh sách chọn module bạn muốn cấu hình.
Module Manager là bộ đầu tiên thiết đặt hiển thị số lượng chính xác module. Tận
cuối danh sách ban có thể thấy một chức năng tổ chức trang, nơi cho phép bạn điều
hướng đến bộ cài đặt kế tiếp của các module trong danh sách. Bạn cũng có thể cài đặt
số module được hiển thị trên một trang băng các chọn số trên hộp chọn đổ xuống trên
góc trên phải màn hình. Ở đây bạn có thể tìm thấy một danh sách của tất cả bộ thiết
lập mặc đinh site module khi cài đặt Joomla. Mỗi cái quy chiếu đến một loại module
Trần Văn Vẽ, Lớp 03T1 19
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
cụ thể được định từ trước. Dưới những tiêu đề danh sách cụ thể được hiển thị những
trạng thái của nhưng Module được cài đặt trên hệ thống.
Những Module được xác đinh bằng môt kểu (ví dụ mod_mainmenu). Nhiều thể
hiện của cùng một module có thẻ được tạo ra bằng cách chép môt loại module cụ thể,
cho nó một tiêu đề khác và các thông số khác theo nhu cầu của bạn. Bạn có thể tạo
một module tùy thích với một loại “User” bằng cách click vào biểu tượng “New”. Đây
là một mudule rất hữu dụng mà bạn thường tạo một Content (content này không liên
quan gì đến các Section, Category hay Static Content Item) hay RSS feed. Nó cũng
được dùng như một hộp văn bản hay môt module ảnh hay thậm chí bao gồm code tùy
biến.
Những Site Module sau được gói cùng với Joomla : Những tiêu đề cho mỗi module
là tiêu đề mặc định trong phiên bản Joomla. Những tiêu đề này có thể được đổi tên
hoặc dịch cho hợp với nhu cầu của bạn.
+ Archive – kho lưu
+ Latest News – tin mới
+ Login Form – biểu mẫu login
+ Main Menu – menu chính
+ Popular – ưa chuộng
+ Newsflash – tin khẩn
+ Who's Online – ai trong mạng
+ Polls – thăm dò ý kiến
+ Random Image – hình ảnh ngẫu nhiên
+ Related Items – mục liên quan
+ Syndicate – đăng tin
Trần Văn Vẽ, Lớp 03T1 20
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
+ Sections – phân loại
+ Statistics – thống kê
+ User (Custom & RSS Feeds)
+ Template Chooser – chọn template
+ Wrapper – trình bao bọc
.III.2.2. Component
Các Component là những thành phần nội dung đặc biệt hay những ứng dụng.
Joomla bao gồm một số nhân component và hỗ trợ khả năng tự tăng cường tính năng
với component của các hãng thư ba. Những component được gắn sẵn, cai bao gồm
trong Joomla, là một phần của tính năng nhân. Bạn sẽ tìm thấy những compnent của
hãng thứ ba tại Joomla Forge cũng như tại rất nhiều nhà phát triển thứ ba và những
site cộng đồng. Cấu hình và trợ giúp thêm thường được cung cấp với kèm với chính
component. Những component là mô phỏng tự nhiên, điềunày làm nó có khả năng
tăng cường các chức năng của Joomla trong bất kì hoàn cảnh nào. Một component đặc
trưng giống như Menu item. Những visitor và/hay những user có thể thấy nội dung
của component bằng cách click vào liên kết của Menu item này. Nó thường được hiển
thị trong vùng nội dung chính của site.
Những component được bao gồm với Joomla là :
+ Banners – ô quảng cáo
+ Contacts – Liên hệ
+ Newsfeeds – điểm tin
+ Polls – thăm dò
+ Web Links – liên kết web
Trần Văn Vẽ, Lớp 03T1 21
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Banner Component – Ô quảng cáo: Component này cho phép bạn hiển thị những
banner (hộp quản cáo) kế tiếp nhau trên site. Nó cũng cho bạn một vài chức năng cao
cấp như quản lý những điểm nhấn và những mã tùy thích.
Banner Manager – quản lý Banner: Trong phần này, bạn điều khiển những
banner thực sự. Có những quảng cáo đồ họa hay thông điệp xuất hiện tại phần định
trước trên site Joomla.
Banner Client Manager – Quản lý Quảng cáo của Khách hàng: Phần này cho
phép bạn cài đặt những trương mục cho những khách hàng mà bạn đang dành cho họ
quyền được đạt banner vào.
• CHÚ Ý : Những banner Flash có thể dụng được với Joomla Banner
Component. Để biết thêm về quản lý khách hàng có banner, click vào liên kết Help
Screen này.
Contact Manager Component – Quản lý Liên hệ : Contact Manager component
cung cấp cho bạn khả năng quản lý một danh sách các liên hệ cho site của bạn. Nhưng
visitor có thể tìm bạn hoặc những thông tin về tổ chức của bạn bao gồm tên, địa chỉ
thư, số điện thoại và số fax. Họ có thể liên lạc với bạn hặc tổ chức của bạn bằng cách
điền vào biểu mẫu liên hệ đơn giản và lick biểu tượng “Send”. Bạn có thể có nhiều
hơn một contact item.
Newsfeed Component – (điểm tin): Những Newsfeed là cách dùng chuntg tin tức
giữa các site khác nhau. Ngày càng nhiều những nhà cung cấp content chia sẻ một
phần content của họ qua những RSS newsfeed. Cách thức chia sẻ này có nghĩa là tạo
một tin vắn giới thiệu theo nhà cung cấp muốn và thường có một liên kết đến website
của nhà cung cấp.
Newsflash Component – tin khẩn: Một Newsflash là một thông điệp động được
hiển thị trên site của bạn. Nó thường hiển thị trong một text box (hộp văn bản) để thu
hút sự chú ý trên Frontpage của bạn. Nó cho những visitor một mẩu tin nhỏ, như
những tin quan trọng. Bạn có thể có một hay nhiều Newsflash item.
Trần Văn Vẽ, Lớp 03T1 22
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Poll Component – thăm dò ý kiến : Component này cho phép bạn quản lý và tạo
các poll (cuộc thăm dò ý kiến) khác nhau cho những visitor của bạn. Những câu hỏi
bạn hỏi có thể hữu dụng cho những thông tin có mục đích.
Web Links Component – liên kết Web: Web Links component là một bộ sưu tập
những liên kết như những liên kết yêu thích, liên kết Joomla!, hoặc bất cứ gì mà bạn
thích. Component được thiết kế có khả năng đếm số lần click vào mỗi liên kết và
những user đã đăng kí có thể đệ trình những liên kết mới từ Front-end.
.III.2.3. Mambot
Mambots là những đơn vị mã chức năng hỗ trợ những hoạt động của Joomla.
Chúng có nhiều mục đích và những chức năng khác nhau và được nhóm lại để quản lý
dễ dàng hơn. Ví dụ, có nhiều Mambot chỉ hoạt động trong những content item, những
cái khác được cung cấp tính năng tìm kiếm v.v. Trong một vài nhóm, một số Mambot
có thể được publish một lần, trong khi những cái khác (vi dụ như WYSIWYG editor –
trình soạn thảo trực quan) chỉ một cái được kích hoạt.
Thứ tự trong một vài nhóm là rất quan trọng, ví dụ như, trong nhóm content, đầu
tiên phải là Image Replacement Mambot – thay thế ảnh (mosimage) (ở đầu danh
sách), và sau đó là Pagination Mambot – tổ chức trang (mospaging).
Danh sách sau đây phác thảo những mambot sẵn dùng trong những nhóm khác
nhau:
Content Mambots – những mambot về nôi dung: Chúng điển hình thay thế phần
nào tốc kí {tag} vơi thông tin khác.
MOS Image - ảnh: Đây là một Image placement Mambot – mambot sắp đặt ảnh.
Những thẻ tag {mosimage} được thay với ảnh mà bạn đã chọn khi tạo và/hoặc sửa
một content item. Mambot này dành cho những người thích làm việc không dùng
WYSIWYG Editor (trình soạn thảo trực quan) như một cách thuận tiện để chèn các
ảnh vào content item. Những người khác dùng WYSIWYG Editor, vẫn thích dùng
mambot này hơn để chèn các ảnh vào thay vì chèn một biểu tượng ảnh trong
WYSIWYG Editor.
Trần Văn Vẽ, Lớp 03T1 23
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Code Support – mã hỗ trợ : Mã hỗ trợ Mambot trả lại bất kì đoạn văn bản nào
trong một cặp của thẻ tag {moscode} … mã … {/moscode} như mã PHP.
SEF:Search Engine Friendly Mambot (công nghệ tìm kiêm thân thiện) tạo những
liên kết trong content tương thích với SEF được cài đặt hỗ trợ. Nó hoạt động trực tiếp
trên HTML trong item và không đòi hỏi một thẻ tag đặc biệt.
MOS Rating – đánh giá : Mambot này cung cấp để bỏ phiếu/đánh giá những
content item.
Email Cloaking – che dấu email: Mambot này viết lại tất cả các địa chỉ email với
một content item để che dấu (“cloak”) chúng khỏi spambot không được chào đón.
MOS Pagination – tổ chức trang : Mambot này ngắt những content item thành
nhiều trang và ráp lại thành một bảng những content.
Search Mambots – những mambot tìm kiếm: Những Search Mambot thêm khả
năng để tìm kiến tất cả những component khác nhau của Joomla.
Editor Mambots – nhưng mambot soạn thảo : Những Editor Mambot cung cấp
hỗ trợ để có thể cài đặt những WYSIWYG editor. Bạn cũng có thể chọn để thôi
activate bất kì WYSIWYG editor nào, trả lại cho bạn với một vùng soạn thảo HTML
tiêu chuẩn.
Editor Extension Mambots – những mambot soạn thảo mở rộng : Những
Editor Extension Mambot cho phép những điều khiển cộng thêm được bao gồm để
chỉnh sửa content. Ví dụ, những biểu tượng được đặt trong hay dưới trình soạn thảo
để chèn những thẻ tag {mosimage} và {mospaging} vào content của bạn
.III.2.4. Menu
Joomla! có rất nhiều kiểu Menu, mỗi Menu sẽ là một trang hiển thị có nội dung và
cách trình bày theo nhiều kiểu khác nhau.
Các Menu này được quản lý theo mã số ID nên có thể thay đổi tên và vị trí mà ảnh
hưởng đến nội dung, địa chỉ liên kết của chúng.
Trần Văn Vẽ, Lớp 03T1 24
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Joomla! cho phép lựa chọn và quyết định Menu nào làm Trang chủ (Home) là trang
sẽ xuất hiện đầu tiên khi truy cập vào địa chỉ của trang Web.
Tất cả các thành phần, nội dung,... trong Joomla! đều có thể cho phép hiển thị hay
không hiển thị (sử dụng hay không sử dụng) thông qua chức năng Publish hay
Unpublish.
Tất cả các thành phần mở rộng đều được cài đặt thêm hoặc gỡ bỏ thông qua các
Menu lệnh trong Joomla!
.III.3.Quản lý nội dung site
Quản lý nội dung Web Site, trong Joomla! có 3 cấp quản lý nội dung:
Trước khi đi vào xây dựng một Website bằng Joomla chúng ta cần nắm rõ 3 khái
niệm quan trọng: Section, Category và Content. Vậy Section là gì? Category là gì?
Content là gì?.
Chúng ta cùng xem "Cấu trúc nội dung của một Website Joomla" được thể hiện
thông qua hình vẽ dưới đây:
Hình 1: Cấu trúc nội dung website Joomla
Section 1
--------|Category 1a
--------|Category 1c
Trần Văn Vẽ, Lớp 03T1 25
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
--------|Category 1b
Section 2
--------|Category 2a
--------|Category 2b
--------------------|Content 2b1
--------------------|Content 2b2
− Section: Là cấp quản lý nội dung lớn nhất, chứa các Category. Có thể tạo
nhiều Section và mỗi Section có thể chứa nhiều Category.
− Category: Là cấp quản lý nội dung nhỏ hơn Section, chứa Content Item. Có
thể tạo nhiều Category và mỗi Category có thể chứa nhiều Content Item.
− Content Item (Article): Là phần nội dung, chứa các văn bản và hình ảnh
được hiển thị trên trang Web.
Các cấp quản lý nội dung đều được quản lý theo mã số ID nên có thể thay đổi tên
mà ảnh hưởng đến nội dung, địa chỉ liên kết của chúng.
Như vậy để tạo một bài viết chúng ta cần qua tối đa 3 bước và tối thiểu là 1 bước
nếu đã co Section và Category
Bước 1: Tạo Section: Vào Content --> Section Manage
Bước 2: Tạo Category: Vào Content --> Category Manager
Bước 3: Tạo Content: Vào Content --> Article Manager --> New
.III.4.Template
Template là một loạt các file trong Joomla CMS mà được sử dụng để điều khiển
cách thức hiển thị nội dung. Template không phải là một web site, nó không được coi
là một thiết kế trang web đầy đủ.
Template là một thiết kế nền tảng cơ bản cho việc hiển thị web site. Để tạo ra
hiệu ứng của một trang web hoàn chỉnh Template làm việc cùng với nội dung được
cất giữ trong cơ sở dữ liệu.
Trần Văn Vẽ, Lớp 03T1 26
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Các file của một template phải được đặt trong thư mục /templates trong thư mục
cài đặt của Joomla. Nếu ta có 2 template đã được cài đặt thì thư mục của chúng ta sẽ
trông giống như sau :
/templates/mytemp1
/templates/mytemp2
Một Template thường gồm các thành phần cơ bản sau: Phần khung giao diện
(index.php), phần thiết đặt hển thị (template_css.css), phần cài đặt
(templateDetails.xml) , ngoài ra có thể có các file khác như các folder, các file .js, file
ảnh... tùy thuộc vào độ phức tạp Template này và mức độ bạn hiểu.
Có 2 files mà tên của chúng cũng như vị trí phải được đặt một cách chính xác và
chúng được gọi là các kịch bản lõi của Joomla (Joomla core script)
/JS_Smoothportal/templateDetails.xml
/JS_Smoothportal/index.php
templateDetails.xml : Thông báo cho trình cài đặt các file sẽ được dùng
cho template này. Nó còn diễn giải các thông tin khác như tác giả , bản quyền.
index.php là file quan trọng nhất , nó nói cho Joomla biết nơi đặt các
Components, Modules. Nó là sự kết hợp của PHP và (X)html.
Trong hầu hết các template có thêm các thành phần bổ xung,đây là các thành
phần quy ước (không yêu cầu bởi lõi của Joomla) chúng có tên và được đặt ở vị trí
sau:
/JS_Smoothportal/template_thumbnail.png
/JS_Smoothportal/css/template_css.css
/JS_Smoothportal/images/ logo.png
template_thumbnail.png là hình chụp giao diện của template thường có
kích thước 140 pixels chiều rộng và 90 pixels chiều cao, file này được sử dụng
cho chức năng xem trước (Preview) .
css/template_css.css vị trí của thư mục CSS là tùy chọn nhưng bạn phải chỉ
rõ nó ở đâu. Chú ý rằng tên của file chỉ quan trọng trong các tham chiếu ở trong
file index.php và bạn nên đặt tên như bạn thích.
Image/logo.png đây là 1 file ảnh bất kì đại diện cho một công ty, những
thiết kế thường đặt nó trong thư mục image và thường đặt tên là logo.png .
Trần Văn Vẽ, Lớp 03T1 27
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.IV Quản trị trong Joomla
.IV.1. Tổng quan về phần quản trị
Joomla Administration – Quản trị Joomla: Là trung tâm điều khiển của
website Joomla. Dùng giao diện tao nhã của Admin Section để xây dựng cấu trúc và
biên tập, xuất bản nội dung. Admin Section được chia thành bốn vùng : Menubar –
thanh menu, Toolbar – thanh công cụ, Infobar – thanh thông tin, Workspace – vùng
làm việc. Để truy cập vào vùng Administration, đăng nhập (log in) bằng tìa khoản
người dùng với đặc quyền quản trị (administrative).
Administrator Login – Đăng nhập Quản trị viên :Cài đặt mới Joomla sẽ có một
người dùng được cài. Người dùng (user) này được biết như là Super Administrator
(siêu quản trị viên). Super Administrator có tên truy cập (login name) là “admin”. Bạn
sẽ tạo một password cho Super Administrator trong qua trình cài đặt Joomla. Vì lí do
an ninh, bạn nên đổi tên truy cập và password của Super Administrator. Mỗi người
dùng trong Joomla được gán vào một nhóm, hiện tại có ba nhóm người dùng với đặc
quyền truy cập tới Administrator Back-end : Super Administrator, Administrator, và
Manager. Chức năng của mỗi nhóm được giảng giải dưới đây :
Super Administrator – siêu quản trị : Super Administrator Group truy cập vào
tất cả các chức năng Back-en (Administrator). Site của bạn phải có tối thiểu một
người được bổ nhiệm là một Super Administrator để thực hiện Global Configuration
(câu hình tổng thể) của site. Những người dùng trong nhóm này không thể xóa và
không thể chuyển đổi sang nhóm khác.
Administrator- Quản trị viên: Nhóm quản trị có một hạn chế nhỏ khi truy cập
vào các chức năng Back-end (Administrator). Administrator không thể :
• Thêm hay sửa một người dùng trong nhóm SuperAdministrator.
• Truy cập các cài đặt Global Configuration.
• Truy cập chức năng Mass Mail.
• Quản lý/cài đặt các Template.
Trần Văn Vẽ, Lớp 03T1 28
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
• Quản lý/cài đặt các file language (ngôn ngữ).
Manager – Quản lý: Nhóm quản lý có tham số hầu hết, có ý nghĩa trong việc tạo
nội dung. Một người trong nhóm này, có thêm một số giới hạn so với một
Administrator, Manager không thể :
• Quản lý các User.
• Cài dặt các Module.
• Cài đặt các Component.
• Truy cập một số Component ( được xác định bởi Super Administrator).
Menubar – Thanh Menu: Thanh Menu được chia thành mười phần: Home (trang
chủ), Site, Menu, Content (nội dung), Components, Modules, Mambots, Installers (cài
đặt), Messages (thông điệp), System (hệ thống) và Help (trợ giúp). Mỗi phần có một
menu đổ xuông phụ thuộc. Thanh menu là trung tâm điều hướng trong Admin
Section.
Workspace – không gian làm việc : Workspace là một vùng nằm ngay dưới
Menubar và Toolbar hiển thị những điều khiển cho mục menu được chọn hiện tại.
workspace cập nhật khi bạn lựa chọn một menu hay dùng một công cụ từ toolbar, cài
đặt mặc định là Control Panel (bảng điều khiển).
Control Panel – bản điều khiển : Bên trái của Control Panel hiện những biểu
tượng cho những mục nội dung quản lý chính : Bên phải của Control Panel hiện
những thẻ tab truy cập những menu của component đã cài đặt, một danh sách các
content item được ưa chuộng, thông tin về những item mới nhất thêm vào hệ thống
(bao gồm tiêu đề, ngày, và tác giả), và menu statistics (thống kê menu). Tất cả những
biểu tượng và dòng văn bản trên Control Panel đều có thể click và sẽ đưa các điều
kiển của mục chọn vào Workspace.
Toolbar Icons – Các biểu tượng Toolbar :
Trần Văn Vẽ, Lớp 03T1 29
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
• Publish (xuất bản) : Đây là biểu tượng để xuất bản category hoặc những
item. Những khách thăm site có những item này trên site.
• Unpublish (thôi xuất bản): biểu tượng vày sẽ thôi xuất bản một category
hoặc item. Việc không xuất bản sẽ xóa item khỏi trang xem công cộng,
nhưng không xóa category hay item. Để xóa một item, chon nó và click biểu
tượng “Delete”.
• Archive: (kho lưu) : biểu tượng này chuyển một intem vào Archive.
• New: (tạo mới): biểu tượng này thêm một item, section, link, v.v.
• Edit:(chỉnh sửa): biểu tượng này chỉnh sửa một item đã được tạo trước đó.
Phải chắc đã lựa chọn một item trước khi click biểu tượng này.
• Delete or Remove: (xóa): biểu tượng này xóa một category hay item trong
site của bạn. Chú ý rằng tiến trình này không thể phục hồi được. Để xóa một
item hay category tam thời, click biểu tượng “Unpubish”.
• Trash: (thùng rác): biểu tượng này xóa một item và đặt nó vào Trash
Manager (quản lý rác). Ghi chú: bạn có thể phục hồi những item đã đổ đi trở
lại tình trạng trước đó. Đơn giản vào Trash Manager dưới menu Site.
• Move: (di chuyển): biểu tượng này di chuyển một item đến một Section hay
Category mới.
• Apply: (áp dụng): biểu tượng này sẽ lưu nội dung mới hay những thay đổi
nhưng trang vẫn mở để tiếp tục chỉnh sửa.
• Save (lưu): biểu tượng này lưu nội dung mới của bạn hay những thay đổi
cấu hình và quay trở lại trang trước.
• Cancel (thôi) : biểu tượng này sẽ thôi tạo một trang hay thôi không lưu
những thay đổi. Chú ý: Nếu ban muốn thôi tạo hay chỉnh sửa bạn phải dùng
nút này và không dược dùng nút back trên trình duyệt vài như vầy sẽ khóa
item và những content manager khác không thể chỉnh sủa trang được.
Trần Văn Vẽ, Lớp 03T1 30
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
• Preview: (xem trước): biểu tượng này dùng để xem, trong một cửa sổ pop-
up, một cái nhìn trước của bất kì sự thay đổi nào bạn làm. Nếu trình duyệt
của bạn được cài khóa những của sổ pop-up hoặc bạn đang dùng phần mềm
khóa pop-up, bạn cần đổi cài đặt hay vô hiệu phần mềm để xem trước.
• Upload: (tải lên): biểu tượng này dùng để tải lên một file hay ảnh đến web
site của bạn.
• CHÚ Ý : Nếu bạn muốn thôi tạo hay chỉnh sửa, bạn phải dùng nút này và
không dùng nút back của trình duyệt để ngăn chăn khóa “Checking Out”
trang của bạn và ngăn cản người khác chỉnh sửa nó. Khi dùng những
component hoạt động thay thế của hãng thứ 3 có thể gán cho một số biểu
tượng này.
User Groups và Access Control – những nhóm người dùng và điểu khiển truy
cập: Joomla có hai hệ thống phân cấp nhóm người dùng (user group) chính: một để
truy cập Frontend (vì những user có thể log in và web site và xem những phần hay
trang được chỉ định) và một cho truy cập Back-end Administrator. Các nhóm được
cung cấp mặc định là :
• Public Front-end (mặt trước dùng chung)
| - Registered (đã đăng kí)
| - - Author (tác giả)
| - - - Editor (người biên tập)
| - - - - Publisher (người xuất bản)
• Public Back-end (mặt sau dùng chung)
| - Manager (người quan lý)
| - - Administrator (người quản trị)
| - - - Super Administrator (siêu quản trị)
Trần Văn Vẽ, Lớp 03T1 31
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 2:Nhóm người dùng và điều khiển truy cập
.IV.2. Tạo một chủ đề mới (Section)
Mở menu Content -> Section Manager
Một danh sách các Section (Chủ đề) sẽ hiện ra, nhấn vào biểu
tượng New để tạo Section mới của bạn.
Điền các thông tin cần thiết như: Title (tiêu đề), Section Name
(Tên), Description (Mô tả chi tiết) ... Nhấn nút Save để lưu lại
.IV.3. Tạo một chuyên mục mới (Category)
Mở menu Content -> Category Manager
Một danh sách các Category (chuyên mục) sẽ xuất hiện. Nhấn
vào biểu tượng New để tạo Category mới của bạn.
Lựa chọn Section của Category và điền các thông số cần thiết.
Nhấn nút Save để lưu lại
.IV.4. Thêm một bài viết (Content Item)
Mở menu Content -> chọn Article Manager
Nhấp nút New để tạo bài viết mới
Điền các thông tin bài viết
Trần Văn Vẽ, Lớp 03T1 32
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Nhấp nút Save để lưu lại
Mở website để xem kết quả
.IV.5. Cài đặt Component
Mở menu "Installers" --> "Components"
Nhấn vào nút [Browser...] để chọn Component (được đóng gói
trong một file nén *.zip)
Nhấn vào nút [Upload File & Install] để cài đặt component
Nhấn link 'Continue...' để kết thúc quá trình cài đặt
.IV.6. Cài đặt Mambot
Mở menu Installer -> Mambots
Nhấn vào nút [Browser...] để chọn Mambot (được đóng gói trong
một file nén *.zip)
Nhấn vào nút [Upload File & Install] để tiến hành cài đặt
Nhấn vào link 'Continue...' để kết thúc quá trình cài đặt. Joomla!
sẽ chuyển hướng đến trang quản lý Mambot.
.IV.7. Cài đặt Module
Mở menu Installer -> Modules
Nhấn nút [Browser...] để chọn Module (được đóng gói trong một
file nén *.zip)
Nhấn nút [Upload File & Install] để cài đặt Module
Nếu Joomla! thông báo việc cài đặt thành công, nhấn nút
[Continue...] để tới trang quản lý các Module
.IV.8. Cài đặt Templates
Mở menu Installers -> Templates – Site
Trần Văn Vẽ, Lớp 03T1 33
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Nhấn lên nút [Browse...], chọn template mà bạn vừa download
(được đóng gói trong một file zip hoặg gz) sau đó nhấn lên nút [Upload file &
Install]
Chờ Joomla thông báo việc cài đặt thành công rồi nhấn vào
Continue...
Thiết lập template mới cài đặt thành template mặc định
Mở menu Site -> Templates Manager -> Site Templates, chọn
template mới cài đặt rồi nhấn vào nút [Default]
.IV.9. Vị trí các module trong template
Một trong những tính năng quan trọng của Joomla là cho phép thay đổi vị trí của
các module.
Mỗi template đều định nghĩa sẵn một số vị trí nhất định. Template mặc định của
Joomla 1.5 có tất cả 10 vị trí (breadcrumb, debug, left, right, syndicate, top, user1,
user2, user3 và user4). Do vậy bạn có thể chuyển một module bất kỳ tới 1 trong các
vị trí trên (menu Extensions >> Module Manager >> Module XYZ >> Position)
Hình 3 : Vị trí của các Module
Lưu ý: Một vị trí có thể có nhiều module và một module cũng có thể cùng lúc có
nằm ở nhiều vị trí bằng cách nhân bản (copy) chúng ra thành nhiều bản.
Trần Văn Vẽ, Lớp 03T1 34
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Vị trí của các module được đặt trên template mặc định của Joomla 1.5 như sau:
Hình 4 : Vị trí của các module mặc định trên Joomla
Để có thể xem nhanh các vị trí mà template của bạn hỗ trợ chỉ cần thêm "?tp=1"
vào phía sau địa chỉ Website của bạn.
VD:
Trần Văn Vẽ, Lớp 03T1 35
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 5: Xem nhanh vị trí các module
.IV.10. Thêm một vị trí module vào template
Mở file chứa template của bạn chẳng hạn "\templates\vinaora\index.php", xác
định chỗ mà bạn muốn thêm một vị trí module mới và đặt vào đoạn mã sau:
Trần Văn Vẽ, Lớp 03T1 36
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
0) { ?>
Trong đó tham số thứ hai của hàm mosLoadModules là một trong 5 số nguyên: 1
= horizontal, 0 = normal, -1 = raw, -2 = XHTML và -3 = extra divs.
.IV.11. Quản lý hình ảnh
Vào menu Site -> Media Manager
Để tạo thêm một thư mục: Gõ tên vào ô "Files" và nhấn nút
"Create Folder"
Để upload ảnh: Chọn thư mục chứa ảnh >> Nhấn nút [Browser...]
>> chọn ảnh muốn upload >> nhấn nút [Start Upload]
Có 2 chế độ duyệt ảnh: "Thumbnail View" và "Detail View"
.IV.12. Quản lý người dùng (Users)
Mở menu "Site" > "User Manager"
1. Thêm một User
− Trong phần quản lý User, nhấn nút [New]
− Điền các thông số về User mới (tên thật, tên đăng nhập, email, mật khẩu,
nhóm)
− Nhấn nút [Save] để lưu lại
2. Chỉnh sửa một User
− Chọn một User và nhấn nút [Edit]
− Thay đổi các thông số và nhấn nút [Save]
3. Xóa một User
− Chọn User cần xóa và nhấn nút [Delete]
Trần Văn Vẽ, Lớp 03T1 37
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.IV.13. Thêm một liên hệ
Mở menu Component -> Contacts -> Contacts
nút [New] để tạo một liên hệ (Contact) mới
Điền tên, chọn nhóm (category), và điền các thông tin khác
Tùy chỉnh các tham số ở mục "Parameters" bên tay phải
Nhấn nút [Save] để lưu lại
Mở website để xem kết quả
.IV.14. Thêm một module HTML
Vào menu Extensions -> Module Manager
nút [New] để tạo module HTML
Chọn kiểu module là "Custom HTML" rồi nhấn nút [Next]
Điền các thông số và chọn vị trí cho module
Gõ nội dung cho module HTML vào ô "Custom Output"
Nhấn nút [Save] để lưu lại
Mở website để xem kết quả
.V Một số thủ thuật để tối ưu và bảo mật Joomla
.V.1. Tăng tốc cho Joomla
1. Bật tính năng GZIP.
− GZIP là một tính năng dùng để nén các thông tin xuất ra
− Bạn phải chắc chắn Server có hỗ trợ GZIP. Vào menu System --> System
Info --> PHP Info để kiểm tra.
− Để bật GZIP, vào menu Site --> Global Configuration --> tab Server -->
chọn GZIP Page Compression
2. Bật tính năng CACHE hệ thống.
Trần Văn Vẽ, Lớp 03T1 38
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
− Vào menu Site --> Cache --> chọn Caching.
− Chọn Cache Folder - nơi lưu tữ các file cache (nhớ CHMOD sang 777)
− Chọn Cache Time: Thời gian lưu trữ các file cache (mặc định là 900" =
15').
− Lưu ý đây mởi chỉ là cache của các bài viết
3. Bật tính năng CACHE cho các module.
− Chúng ta có rất nhiều module cho phép sử dụng tính năng cache, tuy nhiên
chúng lại bị tắt theo chế độ mặc định và ít bạn chú ý tới điều này.
− Để bật tính năng CACHE cho các module.
− Vào menu Modules --> Site Modules --> chọn từng Module. Trong phần
tham số Parameters, nếu tìm thấy dòng đại loại như "Enable Cache" thì hãy
chọn "Yes".
4. Làm sao để xóa CACHE
− Theo mặc định thời gian một bản CACHE có hiệu lực là 900 s = 15 phút.
Tuy nhiên vì một lý do nào đó, bạn muốn các bài viết hoặc các module... cần
được cập nhật ngay thông tin mà không phải đợi 15 phút sau.
− Bạn vào menu System --> chọn Clean Content Caches để xóa các file
cache của các bài viết
− Bạn vào menu System --> chọn Clean All Caches để xóa tất cả các cache
.V.2. Cải thiện các truy vấn SQL
Xác định phần tiền tố của các bảng.Thường là "jos_"
Mở công cụ SQL (thực hiện các truy vấn SQL)
Chạy các câu lệnh SQL tương ứng sau
Đối với Joomla! core:
ALTER TABLE `jos_categories` ADD INDEX `title_id` (`title`,`id`);
ALTER TABLE `jos_components` ADD INDEX `opt_par` (`option`, `parent`, `id`);
ALTER TABLE `jos_components` ADD INDEX `admin_opt` (`admin_menu_link`,
Trần Văn Vẽ, Lớp 03T1 39
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
`option`);
ALTER TABLE `jos_content` ADD INDEX `state_access` ( `state` , `access` ,
`publish_up` , `publish_down` , `id` , `catid` , `sectionid` , `created_by` );
ALTER TABLE `jos_core_acl_aro` ADD INDEX `val_aro_id` (`value`, `aro_id`);
ALTER TABLE `jos_core_acl_aro_groups` ADD INDEX `name_lft_rgt` (`name`,
`lft`, `rgt`);
ALTER TABLE `jos_mambots` ADD INDEX `fold_acc` ( `folder`, `access`,
`published`, `ordering`, `element`, `params`(20));
ALTER TABLE `jos_mambots` ADD INDEX `element` ( `element` );
ALTER TABLE `jos_menu` ADD INDEX `link_id` (`link`(30), `id`);
ALTER TABLE `jos_menu` ADD INDEX `link_pub_id` (`link`(30), `published`, `id`);
ALTER TABLE `jos_menu` ADD INDEX `pub_acc_menu` (`published`, `access`,
`menutype`, `parent`,`ordering`, `id`, `name`);
ALTER TABLE `jos_sections` ADD INDEX `id,acc,pub` (`id`, `access`, `published`,
`name`(20));
ALTER TABLE `jos_sections` ADD INDEX `pub_acc_id`
(`published`,`access`,`id`,`name`(20));
ALTER TABLE `jos_stats_agents` ADD INDEX `agent_type` (`agent`,`type`,`hits`);
ALTER TABLE `jos_templates_menu` ADD INDEX `client_menu` (`client_id`,
`menuid`, `template`);
ALTER TABLE `jos_template_positions` ADD INDEX `pos` (`position`);
ALTER TABLE `jos_users` ADD INDEX `user_pass_id`
(`username`,`password`,`id`);
− Đối với DocMan:
ALTER TABLE `jos_docman` ADD INDEX `own_pub` (`dmowner`, `published`,
`approved`, `catid`, `id`);
− Đối với JoomComment
ALTER TABLE `jos_jomcomment` ADD INDEX `content_opt` (`contentid`,`option`,
`published`);
− Đối với OpenSEF
ALTER TABLE `jos_opensef_config` ADD INDEX `scope_name` (`scope`, `name`);
ALTER TABLE `jos_opensef_sef` ADD INDEX `exter_dir` (`external`, `direction`,
`site_id`, `use_internal`);
Trần Văn Vẽ, Lớp 03T1 40
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.V.3. Bảo vệ file Configuration.php khỏi các truy cập trái
phép
Việc bảo vệ các file có nội dung quan trọng, các file cấu hình chứa các thông số
của hệ thống như: tên database, tên truy nhập, mật khẩu... là rất cần thiết và phải đặc
biệt lưu tâm. Trong Joomla có một file như thế - file "configuration.php". Để tăng
cường bảo mật cho file "configuration.php" này có nhiều cách, tuy nhiên có một cách
hay được sử dụng và đề cập trên các diễn đàn, đó là chuyển file "configuration.php"
tới một nơi an toàn, tránh sự nhòm ngó của hacker. Các bước thực hiện như sau:
Giả sử Website Joomla của bạn được đặt trong thư mục "/www/public_html"
www
---|public_html
--------------|configuration.php
Chuyển file "configuration.php" ra khỏi "public_html", đặt nó vào một khu vực
khác do bạn tự tạo chẳng hạn "/www/private". Đặt cho nó một cái tên mới, chẳng hạn
"vinaora_joomla.conf".
www
---|private
-----------|vinaora_joomla.conf
Tạo một file "configuration.php" thay thế file cũ nhưng chứa nội dụng sau:
<?php
require( '/www/private/vinaora_joomla.conf' );
?>
Đừng để bất cứ khoảng trắng hoặc dòng trắng nào phía trước thẻ "<?php" và phía
sau thẻ "?>" và không được lưu nó với UTF-8 nếu không bạn sẽ nhận được thông báo
lỗi, đại loại như:
Warning: Cannot modify header information - headers already sent by (output
started at /home/xxxxx/public_html/configuration.php:2) in
/home/xxxxx/public_html/index.php on line 250
Thiết lập (CHMOD) quyền chỉ đọc cho file "configuration.php" mới này để đảm
bảo nó không bị thay đổi nội dung.
Trần Văn Vẽ, Lớp 03T1 41
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Khi bạn cần thay đổi các thiết lập cho Joomla hãy thực hiện bằng tay đối với file
"vinaora_joomla.conf"
.V.4. Bảo mật trang quản trị bằng mật khẩu
Bạn muốn ngăn chặn việc truy cập trái phép vào vùng quản trị, trang
administrator (phần backend trong Joomla). Có nhiều giải pháp để thực hiện việc
này. Bài viết này xin giới thiệu một cách khá đơn giản nhưng lại hiệu quả với mục
đích "Tăng cường thêm một rào cản trước khi truy nhập được file index.php". Áp
dụng trên Hosting chạy Apache Server.
Cách thực hiện:
Copy đoạn mã sau và đặt vào đầu của file "index.php" trong thư mục
"Joomla\administrator\"
<?php
$name='439581667ef694b60d58f213cccf9503';
$pass='439581667ef694b60d58f213cccf9503';
if (!isset($_SERVER['PHP_AUTH_USER'])
|| md5($_SERVER['PHP_AUTH_USER'])!==$name
|| md5($_SERVER['PHP_AUTH_PW'])!==$pass)
{
header('WWW-Authenticate');
header('HTTP/1.0 401 Unauthorized');
exit('VINAORA : Access Denied');
}
?>
Trong đó
username = vinaora
password = vinaora
Trần Văn Vẽ, Lớp 03T1 42
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
CHƯƠNG 2
XÂY DỰNG ỨNG DỤNG SIÊU THỊ SÁCH
TRỰC TUYẾN TRÊN CMS JOOMLA
.I Môi trường và công cụ để phát triển ứng dụng
Để xây dựng và phát triển ứng dụng này ta cần phải cài đặt môi trường máy ảo php
và có các công cụ cần thiết như sau:
− Server Apache 2.2.8 (Win32)
− Bộ php 5.2.5
− Bộ MySQL 5.0.51
− Phiên bản mã nguồn mở Joomla ổn định
− Ngoài ra chúng ta có thể cài đặt các chương trình soạn thảo: phpDesigner
2008, Macromedia Dreamweaver 8, Zend Studio - 5.5.0…
− Để thuận lợi và nhanh chóng hơn, ta có thể cài bộ XAMPP 1.6.6 tích hợp tất
cả server apache, php và mysql như sau:
XAMPP: dùng để giả lập máy tính của bạn thành một máy chủ web (máy tính
của bạn khi được giả lập máy chủ web sẽ được gọi là: localhost, để phân biệt với các
máy chủ đang hoạt động trên web là host server). Bạn vào địa chỉ sau:
Trần Văn Vẽ, Lớp 03T1 43
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 6 : Các gói cài đặt XAMPP
Ta có thể download 1 trong 2 gói là Installer và Zip. Với gói ZIP ta chỉ cần giải nén
là có thể sử dụng được ngay mà không cần cài đặt như gói Installer. Cách sử dụng của
2 gói phần mềm này về cơ bản là giống nhau.
Joomla : joomla các phiên bản được cung cấp miễn phí tại trang web
.
Hình 7 : Các phiên bản Joomla
Chọn download phiên bản 1.0.12 và download file Joomla_1.0.12-Stable-
Full_Package.zip.
Hình 8 : Các gói phiên bản Joomla 1.0
Trần Văn Vẽ, Lớp 03T1 44
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.II Cài đặt Joomla
Đầu tiên, bung nén gói XAMPP vào một thư mục gốc của máy tính. Ở đây giả sử
dùng ổ C. Cần lưu ý là các file trong gói XAMPP phải nằm ngay trong thư mục cấp 1
ở ổ C.
Tiếp đó, bung nén gói Joomla vào thư mục C:\xampp\htdocs , và đổi tên thư mục
chứa Joomla thành mysite để sau này dễ truy cập.
Để cài đặt Joomla, trước tiên chúng ta phải tạo một database rỗng và phải giả lập
máy tính của mình thành web server (cụ thể trong trường hợp này là localhost). Chúng
ta sẽ sử dụng gói XAMPP để làm cả hai công việc trên. Vào thư mục C:\xampp,
double-click file xampp_start.
Hình 9 :Khởi động XAMPP
Mở trình duyệt web lên, trong thanh Address, gõ vào dòng chữ
Trong phần menu bên trái chọn phpMyAdmin, đây là công cụ quản lý các cơ sở dữ
liệu của webserver.
Hình 10 : Vào phpMyAdmin
Màn hình sẽ tương tự bên dưới
Trần Văn Vẽ, Lớp 03T1 45
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 11 : Trang mặc định của phpMyAdmin
Trong mục Create new database: gõ dòng chữ joom1, đây là tên của database mà ta
sẽ sử dụng, mục collation nhớ chọn utf8_unicode_ci để thuận lợi cho việc sử dụng
tiếng Việt trong joomla sau này. Bấm nút Create.
Hình 12 : Tạo cơ sở dữ liệu mới
Sau khi tạo thành công một database rỗng mới tên joom1, vào trình duyệt gõ dòng
chữ: . Màn hình cài đặt Joomla sẽ bắt đầu.
Hình 13 : Bắt đầu cài đặt Joomla
Nhấn nút Next trên góc phải.
Trần Văn Vẽ, Lớp 03T1 46
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 14 : Giấy phép sử dụng Joomla
Tiếp tục nhấn Next. Lúc này, màn hình cài đặt sẽ tới bước 1 như bên dưới. Điền
các thông số cần thiết như bên dưới và tiếp tục nhấn Next.
Hình 15 : Thông tin kết nối cơ sở dữ liệu
Có một thông báo xuất hiện. Nhấn OK.
Hình 16 : Thông báo xác nhận lại thông tin
Tại bước 2, đặt tên site (Ví dụ: Test Site, Web site của ABC), tên này sẽ xuất hiện
trên thanh trình duyệt khi duyệt site. Nhấn Next.
Trần Văn Vẽ, Lớp 03T1 47
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 17 : Đặt tên Site
Trong bước 3, điền địa chỉ email và Admin password (password này dùng để truy
cập vào phần quản lý website sau này). Nhấn Next.
Hình 18 : Cấu hình url, path, thông tin admin
Trần Văn Vẽ, Lớp 03T1 48
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 19 : Cài đặt thành công
Khi tới bước 4, bạn đã cài đặt thành công Joomla, hãy xóa thư mục cài đặt
Installation (Điều này nhằm đảm bảo an toàn, tránh việc người khác truy cập và cài
đặt lại Joomla). Cần chú ý 2 thông số, hai thông số này dùng để truy cập phần quản lý
của Joomla.
Username: admin
Password: 123456
Hệ quản trị Joomla được chia làm 2 phần :
Front-End: là phần mặt trước của Joomla, đây là phần mà người dùng bình
thường thấy được khi vào thăm web site, phần này thường hiển thị các bài
viết, hình ảnh mà web site muốn hiển thị.
Back-End: là mặt sau, dành cho người quản lý site (administrator). Phải có
username và password mới truy cập được vào back-end để quản lý thông tin,
cấu hình hệ thống.
Vậy ta đã cài đặt xong Joomla trên localhost, các công việc còn lại để tạo lên
website sẽ là cấu hình Joomla và cài đặt thêm các giao diện, extensions cần thiết theo
yêu cầu của website.
Trần Văn Vẽ, Lớp 03T1 49
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.III Việt hóa Joomla
.III.1. Tiến hành Việt hóa Joomla
Joomla! 1.5 ra đời đánh dấu sự nhảy vọt cả về cách trình bày, giao diện, tính
năng, kiến trúc và "...hỗ trợ tất cả các ngôn ngữ có tập ký tự được biểu diễn bằng
bảng mã UTF-8..." (trích dẫn từ Với Joomla!
1.5 việc bản địa hóa đã trở nên dễ dàng hơn, toàn diện hơn (sử dụng bảng mã Unicode
và cho phép bản địa hóa cả phần front-end, back-end). Bài viết này sẽ giúp các bạn
nhanh chóng Việt hóa Joomla! (Việt hóa cả phần front-end và back-end) chỉ sau vài
bước đơn giản
Việt hóa phần tiền sảnh front-end (phía người sử dụng)
Các gói ngôn ngữ phần tiền sảnh của Joomla! 1.5 được lưu trong thư mục
"\language". Gói ngôn ngữ tiếng Anh sẽ được lưu trong thư mục "\language\en-GB".
Trong thư mục này lại có các file sau:
index.html: Để tránh các hacker liệt kê các file và thư mục.
en-GB.xml: Mô tả các thông tin liên quan tới gói ngôn ngữ.
en-GB.ignore.php: Danh sách các ký tự bỏ qua khi tìm kiếm.
en-GB.ini: File ngôn ngữ chính của Joomla!
en-GB.com_xxx.ini: File ngôn ngữ cho component có tên là com_xxx.
en-GB.mod_xxx.ini: File ngôn ngữ cho module có tên là mod_xxx.
en-GB.plg_xxx.ini: File ngôn ngữ cho các plugin có tên liên quan.
Để tạo gói ngôn ngữ tiếng Việt. Chúng ta làm như sau:
Bước 1. Tạo thư mục chứa gói ngôn ngữ tiếng Việt: "\language\vi-VN"
Bước 2. Copy toàn bộ các file trong thư mục "\language\en-GB" tới thư mục
"\language\vi-VN"
Trần Văn Vẽ, Lớp 03T1 50
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Bước 3. Thay phần tiền tố của tên các file tiếng Anh (en-GB) bằng tiền tố của
file tiếng Việt (vi-VN). Nghĩa là ta có cấu trúc thư mục chứa gói ngôn ngữ tiếng Việt
như sau:
\language\vi-VN\
---------------\index.html
---------------\vi-VN.xml
---------------\vi-VN.ignore.php
---------------\vi-VN.ini
---------------\vi-VN.com_xxx.ini
---------------\vi-VN.mod_xxx.ini
---------------\vi-VN.plg_xxx.ini
Bước 4. Thay file "vi-VN.xml", "vi-VN.ignore.php" bằng 2 file download từ
liên kết sau:
Bước 5. Mở các file *.ini bằng trình soạn thảo Notepad++ (khuyến cáo).
Bước 6. Chọn định dạng (mở menu Format) khi lưu các file này: "UTF-8
without BOM" (lưu các ký tự tiếng Việt nhưng không chèn thêm ký tự đánh dấu
UTF-8 ở đầu file).
Bước 7. Tiến hành Việt hóa. Thay các từ/cụm từ tiếng Anh bằng từ/cụm từ tiếng
Việt tương đương.
Việt hóa phần hậu sảnh back-end (phía người quản trị)
Gói ngôn ngữ tiếng Anh của phần hậu sảnh Joomla! được lưu trong thư mục
"administrator\language\en-GB".
Việc Việt hóa được tiến hành tương tự như phần tiền sảnh front-end của Joomla!.
Chú ý:
Tất cả các file nếu nội dung có chứa tiếng Việt thì đều phải lưu với lựa chọn
"UTF-8 without BOM".
Trần Văn Vẽ, Lớp 03T1 51
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Keyword: Việt, Việt hóa, tiếng Việt, ngôn ngữ, gói ngôn ngữ,
tiếng Anh, bản địa hóa, UTF-8, front-end, back-end.
.III.2.Cài đặt gói ngôn ngữ cho Joomla
o Tải gói ngôn ngữ (language package):
o
_id,1837/Itemid,35/ hoặc
o Mở menu "Installers" --> "Languages"
o Nhấn vào nút [Browser...] để chọn gói ngôn ngữ (được đóng gói trong
một file nén *.zip)
o Nhấn vào nút [Upload File & Install] để tiến hành cài đặt
o Nhấn vào link 'Continue...' để kết thúc quá trình cài đặt. Joomla! sẽ
chuyển hướng đến trang quản lý các ngôn ngữ.
o Từ danh sách các gói ngôn ngữ, chọn ngôn ngữ mới cài đặt (ngôn ngữ
Việt Nam), sau đó nhấn vào nút [Publish]
o Vào menu Global Configuration -> Site -> Locale, chọn ngôn ngữ Việt
Nam và nhấn nút [Default] để thiết lập tiếng Việt thành ngôn ngữ mặc định
cho site.
.III.3.Sử dụng JoomFish để xây dựng Website đa ngôn ngữ
Chúng ta sẽ tiến hành xây dựng Website sử dụng 3 ngôn ngữ: tiếng Anh, tiếng
Việt, và tiếng Pháp.
Bước 1: Cài đặt JoomFish
Truy cập vào Back-end, mục Installers/Components, duyệt tới file Component
JoomFish và nhấn Upload File & Install.
Trần Văn Vẽ, Lớp 03T1 52
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 20 : Cài đặt JoomFish
Khi cài đặt thành công, chúng ta sẽ thấy màn hình chào mừng của JoomFish:
Hình 21 : Màn hình JoomFish
Bước 2: Cài đặt và tinh chỉnh các file ngôn ngữ
Vào mục Installers/Languages để cài thêm 2 ngôn ngữ tiếng Việt và tiếng Pháp,
tiếng Anh đã có sẵn khi cài đặt Joomla.
Hình 22 : Cài đặt ngôn ngữ
Sau khi cài xong, chúng ta vào mục Site/Language Manager/Site Languages để
kiểm tra.
Trần Văn Vẽ, Lớp 03T1 53
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 23 : Kiểm tra ngôn ngữ
Hình 24 : Danh mục ngôn ngữ
Chúng ta thấy rằng, tên ngôn ngữ tiếng Pháp bị lỗi, chúng ta cần sữa lại vì tên ngôn
ngữ sẽ hiển thị trên Website để khách viếng thăm lựa chọn.
Vào Components/Joom!Fish/Languages
Hình 25 : Quản lý ngôn ngữ
Joom!Fish đã nhận được 3 gói ngôn ngữ
Trần Văn Vẽ, Lớp 03T1 54
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 26 : Quản lý ngôn ngữ
Mở chương trình Word, chọn Insert Symbol
Tìm tới chữ ç và chèn vào file word.
Trần Văn Vẽ, Lớp 03T1 55
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Bôi đen chữ ç và copy vào clipboard (Ctrl+C), quay lại Joomla, dán chữ ç vào vị trí
dấu ? trong tên file Fran?ais (dùng Ctrl+V), và sửa luôn chữ Vietnam thành Tiếng
Việt (sử dụng Unicode).
Hình 27 : Kích hoạt ngôn ngữ
Cho Active các ngôn ngữ và điền thêm các thông số cho ngôn ngữ tiếng Việt và
tiếng Pháp như hình dưới đây
Hình 28 : Kích hoạt ngôn ngữ
Chọn thứ tự cho các ngôn ngữ sẽ hiển thị trên Front-end: Tiếng Việt 0, tiếng Anh 1,
tiếng Pháp 2.
Hình 29 : Thứ tự ngôn ngữ
Tiếp đó nhấn Save để lưu lại
Trần Văn Vẽ, Lớp 03T1 56
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 30 : Lưu ngôn ngữ
Sau khi đã cài đặt và điều chỉnh các gói ngôn ngữ như trên, để site hoạt động tốt, ít
xảy ra lỗi, chúng ta cần điều chỉnh các file ngôn ngữ sang UTF-8.
Dùng Dreamweaver mở các file sau (trong thư mục language) và điều chỉnh các
charset từ ISO-8859-1 sang UTF-8.
english.php
english.xml
french.php
french.xml
Đối với file *.php
Sửa dòng DEFINE(‘_ISO’,’charset=iso-8859-1’); thành
DEFINE(‘_ISO’,’charset=utf-8’);
Vẫn trong Dreamweaver, chọn menu Modify/Page Properties
Trần Văn Vẽ, Lớp 03T1 57
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Trong phần Page Properties, mục Title/Encoding, mục Encoding chọn
Unicode(UTF-8). Nhấn OK rồi lưu lại (Save).
Đối với file *.xml
Trong Dreamweaver, thay dòng encoding từ iso-8859-1 thành utf-8 rồi lưu lại
giống phía trên.
Hình 31 : Điều chỉnh chuẩn ngôn ngữ
Trần Văn Vẽ, Lớp 03T1 58
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Bước 3: Test thử Site
Quay lại Joomla, vào mục Modules/Site Modules
Tìm tới mục JoomFish language selection
Chọn vị trí xuất hiện của module lựa chọn ngôn ngữ. Ví dụ ở đây chúng ta chọn
Position: top, chọn Published: yes và lưu lại (Save)
Hình 32 : Chọn hiển thị module chọn ngôn ngữ
Bây giờ hãy mở cửa sổ trình duyệt và test thử site ngoài Front-end, nếu có xuất
hiện module lựa chọn và khi lựa chọn từng ngôn ngữ thì các dòng chữ trên Joomla
thay đổi theo là bạn đã thành công.
Bước 4: Dịch các bài viết và các thành phần trong site thành nhiều ngôn ngữ
Quay vào Back-end, chọn Components/Joom!Fish/Translation
Trần Văn Vẽ, Lớp 03T1 59
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Lưu ý các menu bên góc phải
Hình 33 : Dịch bài viết và thành phần trong Joomla
Mục Content elements là các thành phần trong Joomla mà bạn có thể dịch ra ngôn
ngữ khác nhau. Mục Languages dùng để lựa chọn ngôn ngữ dịch.
Lưu ý: Theo mặc định trong Joom!Fish, khi có một mục bạn không dịch (No
translation) thì mục này sẽ được để với ngôn ngữ mặc định của site (Ngôn ngữ mặc
định được thiết lập trong Site/Global configuration).
Bạn có thể thay đổi mặc định này bằng cách vào Components/Joom!
Fish/Configuration
Trần Văn Vẽ, Lớp 03T1 60
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 34 : Mặc định trong JoomFish
.IV Thiết kế Template
.IV.1. Vị trí các module và component
Trước khi tìm hiểu về template Joomla chúng ta cần phải phân biệt rõ sự khác
nhau giữa 2 khái niệm module và component và vị trí xuất hiện của chúng trong
template. Trong hình vẽ sau, bạn hãy chú ý các khối được đánh dấu màu da cam.
Chúng mô tả các vị trí của module và component mà template này cung cấp.
Trần Văn Vẽ, Lớp 03T1 61
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 35 : Vị trí module và component mà joomla cung cấp
Chú ý: Trên một trang bất kỳ các module có thể có nhiều (cả về số lượng và vị trí)
hoặc không có module nào nhưng luôn có duy nhất một component (trừ 1 vài trường
hợp đặc biệt)
Làm thế nào để biết template đang sử dụng cho phép những vị trí nào? Thật
đơn giản, bạn chỉ cần đăng nhập vào trang quản trị. Sau đó, mở menu Extension >>>
Modules Manager bạn sẽ trông thấy các vị trí có thể dùng được trong danh sách có
dòng chữ "Select Position" như hình dưới đây
Hình 36 : Danh sách vị trí module và component
Chúng ta hãy quay trở lại trang chủ Joomla và bạn sẽ nhận thấy rằng, các module,
component đã được bố trí như sau:
Trần Văn Vẽ, Lớp 03T1 62
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 37 : Vị trí module và component
Chúng ta cần xem xét những đoạn mã nào đã tạo ra các vị trí dành cho module và
component. Bạn hãy quan sát hình sau:
Trần Văn Vẽ, Lớp 03T1 63
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 38 : Đoạn mã tạo vị trí module và component
Chú ý: Tất cả các module bên trái đều sử dụng duy nhật một đoạn mã có dạng như
sau:
Tất cả các module bên phải đều sử dụng duy nhật một đoạn mã sau:
.IV.2. Cấu trúc Template
Hệ thống Joomla Template là một trong những thứ dễ học nhất của Content
Management System. Cấu trúc của một Joomla Template như sau:
/templates
/basic_template
/css
template_css.css
/images
index.php
template_thumbnail.png
templateDetails.xml
Đó là một tập hợp tối thiểu các file mà chúng ta cần để tạo một template.
Trần Văn Vẽ, Lớp 03T1 64
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 39 : Tập các file của template
.IV.3. templateDetails.xml
templateDetails.xml phải chứa tên của tất cả các file của template. Nó cũng bao
gôm các thông tin như tác giả, bản quyền, một số thông tin chỉ được hiển thị trong
phần the admin backend trong Template Manager.
Ví dụ một file templateDetails.xml có nội dung như sau:
mytemplate
July 08
Tran Van Ve
GNU/GPL
tranvanve84@gmail.com
www.tranvanve.com
1.0
Day la template cua toi
index.php
Trần Văn Vẽ, Lớp 03T1 65
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
js/ie.js
template_thumbnail.png
images/header.png
images/background.png
template_thumbnail.png
css/base.css
css/norightcol.css
css/template_css.css
Ý nghĩa của các thẻ được sử dụng như sau:
+ mosinstall nội dung của tài liệu xml được sử dụng để chỉ dẫn cho công việc
cài đặt. Tùy chọn type="template" thông báo cho trình cài đặt là chúng ta đang cài
đặt template.
+ name định nghĩa tên cho template, tên được điền ở đây sẽ được sử dụng để
tạo thư mục trong thư mục template . Bởi vậy tên ở đây không được chứa các kí tự mà
hệ thống khó nắm bắt ví dụ như kí tự cách.
+ create date ngày template được tạo ra, nó là một dạng mẫu tự do có thể là:
May 2005, 08-June-1978, 01/01/2004 ….
+ author tên của người thiết kế ra template này.
+ copyright bất kì thông tin bản quyền nào bên trong thành phần này.
+ authorEmail hòm thư điện tử của tác giả.
+ authorURL tên trang web của tác giả.
+ version phiên bản của template này.
Trần Văn Vẽ, Lớp 03T1 66
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
+ files tất cả các mục file chứa tất cả các file chung như mã nguồn PHP hay
hình thu nhỏ của template. Mỗi một danh sách file được đặt trong cặp thẻ
.
+ images tất cả các hình ảnh được sử dụng trong template, và mỗi danh sách
cũng được đặt trong cặp thẻ .
+ css liệt kê các stylesheet được sử dụng trong template.
.IV.4. index.php
index.php là sự kết hợp giữa (x)html và php để xác định các cách trình bày và
hình thức của trang web. Bạn không cần phải là một chuyên gia PHP mới viết được
template, tất cả những gì bạn cần là học nơi nào đặt các khóa móc (key “hooks”) vào
cổ máy template Joomla. Trong khung HTML bạn đặt các “cửa sổ” nhìn vào bên
trong cơ sở dữ liệu đằng sau website của bạn, có nhiều cửa sổ nhỏ điển hình được gọi
là các module và thông thường một cái mở rộng hơn cho một component.
Bạn nên viết các template bằng XHTML mặc dù có tranh luận liệu XHTML có
là lối đi của tương lai hay không, nó vẫn còn là một định dạng XML chuẩn rất tốt,
trong khi HTML là một chuẩn rời rạc. Các phiên bản tương lai của Joomla sẽ dựa
ngày càng nhiều vào XML vì đó là lối đi kế tục kiểu mẫu trong thời điểm hiện tại.
Chúng ta sẽ quan sát phần quyết định để đạt được một template hợp lệ, phần đầu
của file index.php.
<?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not
allowed.' ); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
<html xmlns="" lang="<?php echo _LANGUAGE; ?
>" xml:lang=""
" />
<?php
if ($my->id)
{
initEditor();
Trần Văn Vẽ, Lớp 03T1 67
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
}
?>
<?php
mosShowHead();
?>
/css/template_css.css"
rel="stylesheet" type="text/css" media="screen" />
• <?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not
allowed.' ); ?> Đoạn mã này ngăn cản việc truy nhập trực tiếp vào file index.php.
• id) { initEditor(); } ?> đây là một biến kịch bản mà giá trị
của nó sẽ khác không khi người sử dụng đăng nhập vào website. Khi người dùng đăng
nhập vào hệ thống trình soạn thảo WYSIWYG sẽ được chỉ định được tải xuống trước,
nếu bạn là người quản trị thì bạn luôn muốn trình soạn thảo sẽ được tải xuống trước
nhưng đối với người dùng thông thường thì họ lại thường không thêm nội dung mới
cho trang web. Script này sẽ giúp trình duyệt của bạn tải trang web một cách bình
thường.
• mục header là nơi chứa các cấu hình toàn cục cho
trang web, nó bao gồm các nhãn sau:
A Complete Guide to Creating a Joomla Template
<meta name="description" content="Installing Joomla, doctype and the blank
joomla template" />
<meta name="keywords" content="installing joomla, joomla doctype, blank
joomla tempate" />
<meta name="Generator" content="Joomla! - Copyright (C) 2005 Open Source
Matters. All rights reserved." />
/css/template_css.css"
rel="stylesheet" type="text/css" media="screen" />
Trần Văn Vẽ, Lớp 03T1 68
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
• Đoạn mã này sẽ liên kết tới file CSS của template, đoạn mã php <?php echo
$cur_template; ?> sẽ trả lại tên của template hiện thời. Khi tạo một template mới bạn
chỉ cần sao chép đoạn mã này mà không cần phải quan tâm đến việc sửa đoạn mã này.
• Khi thiết kế template người thiết kế phải tạo cho trang web một khung để hiển
thị thông tin, sau đó đặt các thành phần của Joomla vào nơi bạn muốn. Các thành
phần của Joom la thường được sử dụng như sau:
hiển thị tên của trang web.
đường dẫn các mục khi người sử dụng duyệt trang web.
hiển thị phần menu phía trên của trang web.
hiển thị phần menu phía trái của trang web.
hiển thị phần nội dung chính của trang web.
hiển thị phần nội dung bên trái của trang web.
hiển thị
phần nội dung cuối của trang web.
• Mục đích của chúng ta là đặt các thẻ này vào nơi hợp lý trên khung html của file
index.php.
.IV.5. template_css.css
Đây là file xác định cách thức hiển thị nội dung trên trang web như font chữ, cỡ
chữ, màu sắc …Sau đây là một số thành phần CSS mặc định của Joomla, khi thết kế
template công việc của bạn là thay đổi các thông tin của file này để có một template
phù hợp với trang web.
Trần Văn Vẽ, Lớp 03T1 69
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 40 : Thành phần CSS mặc định của Joomla
A. xác định cách thức hiển thị tên của trang web, sau đây là ví dụ:
.site_name {
padding-top: 5px;
padding-left: 5px;
}
B. xác định cách thức hiển thị phần đường dẫn của trang web, sau đây là ví dụ:
.pathway {
color: #255B86;
}
a.pathway, a.pathway:visited {
color: #255B86;
}
Trần Văn Vẽ, Lớp 03T1 70
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
a.pathway:hover {
color: #98A258;
}
C. xác định cách thức hiển thị phần header của mỗi modul khi hiển thị, sau đây
là ví dụ:
table.moduletable {
width: 90%;
margin: 0px 0px 0px 7px;
border-left: solid 0px #666666;
border-right: solid 0px #666666;
border-top: solid 0px #666666;
border-bottom: solid 0px #666666;
}
table.moduletable th {
background: none;
vertical-align: middle;
font-size: 11px;
font-weight: bold;
color: #666666;
text-align: center;
text-indent: 0px;
width: 100%;
height: 24px;
border-bottom: solid 1px #666666;
}
table.moduletable td {
font-size: 11px;
background: none;
padding: 5px;
font-weight: normal;
}
D. xác định cách thức hiển thị phần menu bên trái, sau đây là ví dụ:
a.mainlevel:link, a.mainlevel:visited {
color: #3D4E6D;
background: none;
Trần Văn Vẽ, Lớp 03T1 71
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
font-weight: bold;
text-decoration: none;
text-align: left;
}
a.mainlevel:hover {
color: #98A258;
width: 100%;
font-weight: bold;
text-decoration: none;
text-align: left;
}
E. xác định cách thức hiển thị các ô text nhập dữ liệu, sau đây là ví dụ:
.inputbox {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 12px;
color: #343A58;
background: #FFFFFF;
border: 1px solid;
}
F. xác định cách thức hiển thị các nút bấm trên trang web, sau đây là ví dụ:
.button {
color: #343A58;
font-family: Arial, Verdana, Helvetica, sans-serif;
margin-top: 4px;
font-weight: bold;
text-align: center;
font-size: 12px;
background: #f5f5f5;
border: 1px solid #000066;
height: 20px;
cursor: pointer;
}
G. xác định cách thức hiển thị các đường liên kết trên trang web, sau đây là ví
dụ:
a:link, a:visited {
Trần Văn Vẽ, Lớp 03T1 72
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
font-size: 11px;
color: #98A258;
text-decoration: none;
font-family: Arial, Verdana, Helvetica, sans-serif;
}
a:hover {
color: #23598d;
text-decoration: none;
}
H. xác định cách thức hiển thị header của các thành phần mở rộng trên trang
web, sau đây là ví dụ:
.componentheading {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
color: #53586D;
text-align: left;
}
I. xác định cách thức hiển thị header của phần nội dung bài viết trên trang web,
sau đây là ví dụ:
.contentheading {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 13px;
font-weight: bold;
color: #53586D;
text-align: left;
line-height: 16px;
height: 15px;
}
J. xác định cách thức hiển thị tên tác giả bài viết trên trang web, sau đây là ví
dụ:
.small {
Trần Văn Vẽ, Lớp 03T1 73
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 10px;
color: #343A58;
text-decoration: none;
font-weight: normal;
}
K. xác định cách thức hiển thị ngày bài viết được đưa lên web trên trang web,
sau đây là ví dụ:
.createdate {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 9px;
color: #343A58;
text-decoration: none;
font-weight: normal;
}
L. xác định cách thức hiển thị phần nội dung chính của bài viết trên trang web,
sau đây là ví dụ:
td,tr,p,div {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 11px;
color: #333333;
}
M. xác định cách thức hiển thị ngày chỉnh sửa cuối cùng của bài viết trên trang
web, sau đây là ví dụ:
.modifydate {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 10px;
color: #343A58;
text-decoration: none;
font-weight: normal;
}
N. xác định cách thức hiển thị dòng chữ “read more” trên trang web, sau đây là
ví dụ:
a.readon:link, a.readon:visited {
Trần Văn Vẽ, Lớp 03T1 74
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
color: #23598d;
text-decoration: none;
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 11px;
}
a.readon:hover {
color: #23598d;
text-decoration: underline;
font-weight: normal;
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 11px;
}
O. xác định cách thức hiển thị nút “Back” trên trang web, sau đây là ví dụ:
.backbutton {
color: #343A58;
font-family: Arial, Verdana, Helvetica, sans-serif;
margin-top: 4px;
font-weight: bold;
text-align: center;
font-size: 12px;
background: #f5f5f5;
border: 1px solid #000066;
height: 20px;
cursor: pointer;
}
P. xác định cách thức hiển thị phần thăm dò (poll) trên trang web, sau đây là ví
dụ:
.poll {
font-family: Arial, Verdana, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
color: #343A58;
line-height: 14px;
}
Trần Văn Vẽ, Lớp 03T1 75
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
.pollstableborder {
border: 1px solid #465675;
}
Q. xác định cách thức hiển thị khác nhau của các dòng trong phần thăm dò trên
trang web, sau đây là ví dụ:
.sectiontableentry2 {
background-color: #f5f5f5;
}
R. xác định cách thức hiển thị khác nhau của các dòng trong phần thăm dò trên
trang web, sau đây là ví dụ:
.sectiontableentry1 {
background-color : #D9DCEB;
}
.IV.6. Cài đặt Template
Mở menu Installers -> Templates – Site
Hình 41 : Cài đặt Front end template
Trần Văn Vẽ, Lớp 03T1 76
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Nhấn lên nút [Browse...], chọn template (được đóng gói trong một file zip hoặg gz)
sau đó nhấn lên nút [Upload file & Install]
Hình 42 : Cài đặt Front end template 1
Chờ Joomla thông báo việc cài đặt thành công rồi nhấn vào Continue...
Thiết lập template mới cài đặt thành template mặc định
Mở menu Site -> Templates Manager -> Site Templates, chọn template mới cài đặt
rồi nhấn vào nút [Default]
Trần Văn Vẽ, Lớp 03T1 77
Tìm hiểu CMS Joomla, ứng dụng xây dựng siêu thị sách trực tuyến
Hình 43 : Danh mục các template
.V Component
.V.1. Cấu trúc chung của một component
Một component thường có các thành phần cơ bản sau:: Phần hiển thị ở trang chủ,
Phần quản lý trong Joomla! Administrator và các bảng dữ liệu trong cơ sở dữ liệu.Các
bước cơ bản để làm một component như sau:
a. Backend thông thường sẽ gồm những file cơ bản sau: 1 file
admin.yourcom.php, 1 file admin.yourcom.html.php, 1 file toolbar.yourcom.php, 1
file toolbar.yourcom.html.php.
b. Frontend sẽ gồm 2 file cơ bản (thông thường): 1 file yourcom.php, 1 file
yourcom.html.php
Chú ý: không nhất thiết một com của bạn phải hoặc chỉ bao gồm các file trên,
các file bắt buộc là admin.yourcom.php và yourcom.php (folder chứa com cả trong
frontend và backend sẽ là com_yourcom). Ngoài ra bạn có thể có các file khác (vd
yourcom.class.php chẳng hạn), các folder, các fil
Các file đính kèm theo tài liệu này:
- TH099.pdf