ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTTTT BÁO CÁO BÀI TẬP NHÓM ĐỀ TÀI: TÌM HIỂU, CÀI ĐẶT, THỬ NGHIỆM JOOMLA VÀ CÁC MỞ RỘNG CƠ BẢN Giảng viên: Nguyễn Tuấn Hiệp Sinh viên: Cao Văn Tú Đoàn Quang Tuấn Hoàng Đình Luân Đàm Quang Hỷ Thào Chư Lớp: CNTTK12D Môn: Phát triển phần mềm mã nguồn mở Thái Nguyên, tháng 03 năm 2017 MỤC LỤC PHẦN 1. TỔNG QUAN VỀ JOOMLA 4 1.1. Khái niệm về Joomla 4 1.2. Vài nét về lịch sử của Joomla 4 1.3. Tại sao phải chọn Joomla? 5 1.4. Kiến trúc Joomla 5 1.4.1. Cấu trúc của gói cài đặt Component 6 1.4.2. Cấu trúc của một Component 7 1.4.3. Cấu trúc của gói cài đặt Module 7 1.4.4. Cấu trúc của gói cài đặt Template (Temp) 9 1.5. Ứng dụng của Joomla 11 PHẦN 2. CÀI ĐẶT VÀ THỬ NGHIỆM 12 2.1. Sử dụng WebServer chạy Joomla (Xampp) 12 2.1.1. Cài đặt WebServer Xampp 12 2.1.2. Cấu hình WebServer Xampp 12 2.2. Cài đặt và cấu hình Joomla 12 2.2.1. Cài đặt Joomla 12 2.2.2. Cấu hình Joomla 20 2.3. Thử nghiệm Joomla 20 PHẦN 3. CÁC MỞ RỘNG CƠ BẢN CỦA JOOMLA 22 3.1. Joomla Component 22 3.2. Joomla Modules 23 3.3. Plugins 26 3.4. Joomla Template 27 3.5. Joomla Languages 29 PHẦN 1. TỔNG QUAN VỀ JOOMLA 1.1. Khái niệm về Joomla Joomla là một hệ thống quản trị nội dung (CMS – Content Management System) giúp bạn thực hiện các website động một cách nhanh chóng và dễ dàng. Là hệ thống quản trị nội dung mã nguồn mở số 1 thế giới hiện nay. Linh hoạt, đơn giản, thanh nhã, tính tuỳ biến rất cao và cực kỳ mạnh mẽ, đó là những gì có thể nói về Joomla Được sử dụng ở trên toàn thế giới từ những trang web đơn giản cho đến những ứng dụng phức tạp. Việc cài đặt Joomla rất dễ dàng, đơn giản trong việc quản lý và đáng tin cậy. 1.2. Vài nét về lịch sử của 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 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. 1.3. Tại sao phải chọn Joomla? Tại sao lại chọn Joomla CMS ? liệu có thể tin tưởng được, Joomla có đủ mạnh? nếu chưa đọc bạn hãy đọc bài viết giới thiệu về Joomla bạn sẽ biết Joomla tuyệt vời như thế nào . Joomla là một hệ thống quản trị nội dung (CMS – Content Management System) mã nguồn mở dùng ngôn ngữ PHP và cơ sở dữ liệu MySQL. Joomla là một sân chơi, giao lưu học tập hoàn toàn miễn phí, tồn tại dựa trên sự hỗ trợ, tham gia phát triển của tất cả mọi người, những người yêu thích Joomla và những người muốn góp phần nhỏ kiến thức của mình thúc đẩy sự phát triển CNTT Việt Nam . Hiện nay đang phát triển song song với Joomla là DotNetNuke, Dotnetnuke là một portal mã nguồn mở viết trên công nghệ .Net hay còn gọi DotNetNuke là một Portal mã nguồn mở, có nhiều tính năng gần giống như Joomla, nhưng nó phát triển rộng hơn. Để biết rỏ giữa Joomla và DotNetNuke như thế nào, chúng ta làm một phép so sánh : Giá thuê host Joomla rẻ hơn (DotNetNuke phải chạy trên Windows server tốn tiền hơn Joomla chạy trên Linux server). Cộng đồng Joomla lớn hơn (bạn cứ thử gõ DotNetNuke trên Google rồi sau đó gõ Joomla trên Google sẽ có kết quả ngay ấy mà). Các phân luồng thông tin và phân quyền trong Joomla rõ ràng hơn, dễ sử dụng hơn với người cập nhập thông tin. Tuy nhiên Joomla không thể quản trị cho các site có cơ sở dữ liệu lớn. 1.4. Kiến trúc Joomla Joomla được phát triển theo kiến trúc 3 tầng hệ thống: Hình 1.1. Cấu Trúc Joomla 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. JApplication: Lớp này đại diện cho ứng dụng Joomla và được thực hiện như một nhà máy qui định mọi ứng dụng giữ những đối tượng. Lớp này bao gồm các lớp con như: JInstallation, JAdministrator và JSite. Mambot (Plugin): Là các chức năng được bổ sung thêm cho Com, các Mambot này sẽ can thiệp, bổ sung vào nội dung của trang Web trước hoặc sau khi nó được hiển thị. Mambot có thể được cài đặt thêm vào Web Site. Hay nói cách khác Mambot là phương tiện giao tiếp với component. 1.4.1. Cấu trúc của gói cài đặt Component Component (Com): Là thành phần chính của trang Web, nó quyết định đến chức năng, hình thức, nội dung chính của mỗi trang Web. Com có thể có thêm Mod để hỗ trợ cho việc hiển thị các chức năng và nội dung của Com. Com có thể được cài đặt thêm vào Web Site. Thông thường sau khi cài đặt Joomla có sẵn các Component: Banners (quản lý các bảng quảng cáo), Contacts (quản lý việc liên hệ giữa người dùng với Ban quản trị Web Site), Search (quản lý việc tìm kiếm), News Feeds (quản lý các tin tức), Polls (quản lý việc bình chọn, ý kiến của người dùng), Web Links (quản lý các liên kết ngoài Web Site) và các Com quản lý nội dung của trang Web. 1.4.2. Cấu trúc của một Component 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. 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 component 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 file .js, file ảnh... tùy thuộc vào mức độ bạn cần ở com này và mức độ bạn hiểu. Một file .XML để phục vụ cho việc cài đặt khi bạn đóng gói. File XML này sẽ mang tất cả các thông số về Tên com; tên tác giả, địa chỉ email, license ... (optional). Mục đích chính của file này là khai báo các file trong frontend và backend (đường dãn đầy đủ của các file này) để upload khi cài đặt, khai báo các query tạo và insert database (nếu bạn phải thêm database) và các query uninstall Một điểm quan trọng là phải hiểu các object, class, function... cơ bản trong joomla thì mới sử dụng được chúng để viết (ví dụ như object về database...). Khi đóng gói thì nhớ ở dạng .zip, .tar nếu ở dạng .zar thì joomla ko hiểu đc. Nếu chưa đóng gói được thì làm manual bằng cách insert trong database và copy các file vào các folder tương úng (không khuyến cáo sd cách này). 1.4.3. Cấu trúc của gói cài đặt Module Module (Mod) Là bộ phận mở rộng thêm chức năng cho Web Site, các Mod này có các chức năng khác nhau, được hiển thị trên trang Web tại các vị trí qui định và có thể thay đổi được. Một trang Web có thể hiển thị nhiều Mod giống và khác nhau, Mod có thể được cài đặt thêm vào Web Site.Thông thường sau khi cài đặt Joomla có sẵn các Module: Main Menu (menu chính), Top Menu (menu phụ, nằm ngang), Search (hiển thị công cụ tìm kiếm), Poll (hiển thị bảng bình chọn, lấy ý kiến), Newsflash (hiển thị các bản tin nổi bật), Hit Counter (hiển thị số lượng truy cập Web Site), Banners (hiển thị các bảng quảng cáo)... Thông thường một Mod sẽ gồm có 2 file chính là .php (chương trình) và file .xml (thông số cài đặt), ngoài ra có thể có thêm thư mục ảnh, Java Script... hỗ trợ thêm cho Module. File.xml (Chứa thông số cài đặt) 1.4.4. Cấu trúc của gói cài đặt Template (Temp) Template: Là giao diện, khuông dạng, kiểu mẫu, hình thức được thiết kế để trình bày nội dung của trang Web và có các vị trí định sẵn để tích hợp các bộ phận, thành phần của trang Web. Joomla cho phép cài đặt và thay đổi Temp cho Web Site hay cho từng trang Web khác nhau một cách dễ dàng. Một gói cài đặt template Joomla gồm các file bắt buộc sau: index.php templateDetails.xml template_css.css hoặc template.css template_thumbnail.png các thư mục và file khác File index.php File này gồm các mã lệnh PHP, thẻ , thẻ và các bảng hoặc các thẻ để định vị các module và tạo nên bố cục của template. File templateDetails.xml Được sử dụng trong quá trình cài đặt. File này chứa các thông số về template và giúp Joomla biết được trong quá trình cài đặt cần tạo các thư mục và truyền các file css, php, ảnh nào lên thư mục templates. File template_css.css hoặc template.css Joomla 1.0.x sử dụng file template_css.css còn Joomla 1.5 sử dụng file template.css. Đây chính là CSS chính của Joomla. File này kết hợp với index.php để tạo nên template. File template_thumbnail.png File này chính là ảnh chụp minh họa của template. Nó giúp bạn dễ hình dung khi lựa chọn template hoặc trong phần quản trị hoặc ở mặt tiền của Website (nếu bạn cho phép mọi người có thể tùy chọn template). Các thư mục và file khác Ngoài các file chính nói trên trong gói cài đặt template có thể có thêm thư mục CSS để chứa các file CSS bổ sung, thư mục ảnh để chứa các ảnh được sử dụng cho template, thư mục javascript để chứa các javascript (nếu có)... Đưa Component, Module và Template tích hợp vào Joomla Để có thể tích hợp component, module và template vào Joomla ngoài việc dựa vào chuẩn cấu trúc của từng phần, kiến trúc của Joomla mà còn theo một số phương pháp sau: Các com, mod, template được tạo ra phải nén dưới dạng file.zip khi đó mới được cài đặt vào. Các com, mod, temp phải phù hợp với từng phiên bản của Joomla. Dùng lệnh Installation tương ứng với com, mod, temp để cài đặt. Sau khi đã cài đặt thành công thì kích hoạt com, mod, temp để có thể chạy ứng dụng bằng cách Publish. 1.5. Ứng dụng của Joomla Ứng dụng Joomla trong nhiều lĩnh vực như: Trang Web của các tổ chức hoặc của 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ờ. 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… Ngoài các vấn đề là mã nguồn mở miễn phí, khả năng bảo mật cao, dễ dàng sử dụng, còn điều gì tuyệt vời hơn đằng sau khiến cho Joomla phát triển mạnh và được nhiều người yêu thích như vậy ? với Joomla việc xây dựng (lập trình) thêm các thành phần, module, các chức năng cho nó là một việc rất dễ dàng đối với các lập trình viên, do đó Joomla có rất rất nhiều các chức năng mở rộng được viết bởi các nhà lập trình trên khắp thế giới, và hầu hết tất cả các ứng dụng, thành phần này đều được chia sẻ miễn phí, đó chính là điều tuyệt vời nhất. Hiện nay Joomla phát triển theo 2 dòng phiên bản: dòng phiên bản Joomla 1.0.X (ổn định) và dòng phiên bản Joomla 1.5.X (đang phát triển). PHẦN 2. CÀI ĐẶT VÀ THỬ NGHIỆM 2.1. Sử dụng WebServer chạy Joomla (Xampp) Để chạy được Joomla ta cần phải có một WebServer với Apache, MySQL, PHP and Perl, việc cấu hình và cài đặt WebServer gặp nhiều khó khăn và tốn kém thời gian. Hiện nay có nhiều phần mềm cấu hình sẳn và ứng dụng như một WebServer như Xamp, Wamp,… Trong phần này chúng tôi sử dụng WebServer Xampp để chạy Joomla. 2.1.1. Cài đặt WebServer Xampp Xampp dùng để giả lập máy tính thành một máy chủ web (máy tính 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. Truy cập vào địa chỉ: http:www.apachefriends.orgenxamppwindows.html641 để tải gói Xamp. Đầ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 mình 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:Xamp. 2.1.2. Cấu hình WebServer Xampp Đây là gói Xamp đã được cấu hình hoàn chỉnh, khi muốn chạy Xamp chỉ cần chọn xampp_start và muốn không chạy Xamp chỉ cần chọn xampp_Stop, và muốn điều khiển Xamp thì chọn xampp_control. 2.2. Cài đặt và cấu hình Joomla 2.2.1. Cài đặt Joomla Bạn đi tới trang: http:www.joomla.orgdownload.html để tải gói cài đặt Joomla (hiện tại là Joomla 3.4.1) Sau khi tải về, bạn sẽ có tệp tin nén Joomla_3.4.1StableFull_Package.zip. Bạn nhấp chuột phải vào tệp tin Joomla_3.4.1StableFull_Package.zip và chọn Extract to Joomla_3.4.1StableFull_Package. Sau khi giải nén, bạn sẽ nhận được thư mục Joomla_3.4.1StableFull_Package. Bạn mở thư mục Joomla_3.4.1StableFull_Package ra và chép (Copy) tất cả các tệp tin nằm trong thư mục đó. Bạn tạo mới một thư mục tên joomla trong thư mục htdocs theo đường dẫn D:xampphtdocs (trong đó D:xampp là thư mục cài đặt phần mềm XAMPP trên máy tính của bạn). Bạn mở thư mục joomla ra và dán (Paste) tất cả các tệp tin trong thư mục Joomla_3.4.1StableFull_Package vào thư mục joomla. Nếu bạn chưa chạy phần mềm XAMPP, bạn cần chạy XAMPP để kích hoạt 2 dịch vụ Apache và MySQL trước khi tiến hành cài đặt Joomla. Bạn nhập: localhostjoomla trên thanh địa chỉ của trình duyệt Web để bắt đầu cài đặt Joomla, bạn sẽ được tự động chuyển hướng tới trang localhostjoomlainstallationindex.php như trong hình: Bước 1. Cấu hình (Configuration): Bạn tiến hành điền các thông tin để cấu hình Website Joomla: Select Language: Bạn lựa chọn ngôn ngữ sử dụng cho Website. Site Name: Nhập tên Website Description: Nhập đoạn mô tả về Website Joomla Admin Email: Nhập địa chỉ Email quản trị của bạn. Admin Username: Nhập tên đăng nhập bạn muốn sử dụng để đăng nhập trang quản trị Joomla. Trong ví dụ, mình sẽ sử dụng tên đăng nhập tài khoản quản trị là admin Admin Password: Nhập mật khẩu đăng nhập (đặt là admin) Confirm Admin Password: Nhập lại mật khẩu (nhập lại là admin) Site Offline: + Chọn No (mặc định): Ngay khi bạn cài đặt xong Joomla, bạn có thể vào xem trang chủ Website Joomla (trang FrontEnd) luôn được. + Chọn Yes: Nếu bạn chọn trạng thái này, khi bạn hoàn tất cài đặt Joomla, bạn chỉ có thể vào được trang quản trị Joomla ( trang BackEnd), mà không vào được trang chủ Joomla (trang FrontEnd). Bạn muốn chuyển từ Yes sang No, bạn cần thay đổi trong mục Global Configuration của trang quản trị. Nhấn Next để chuyển sang bước tiếp theo. Bước 2. Database Database Type: Chọn kiểu CSDL ( mặc định là MySQL) Host Name: Điền tên host (nhập là localhost) Username: Điền tên đăng nhập tài khoản quản trị CSDL MySQL (nhập là root) Password: Điền mật khẩu tài khoản quản trị CSDL MySQL ( để trống) Database Name: Điền tên CSDL bạn đã tạo mới. Trong bài viết này, mình đã tạo mới CSDL MySQL tên là dbjoomla nên trong mục Database Name, mình sẽ nhập dbjoomla Table Prefix: Đây là các ký tự được sinh ra ngẫu nhiên và được thêm vào trước tên mỗi bảng trong CSDL của bạn. Bạn sẽ có các bảng u9gm6_users, u9gm6_content, u9gm6_banners,... Bạn có thể thay đổi u9gm6 này bằng từ dễ nhớ hơn, ví dụ mydb_. Khi đó, bạn sẽ có các bảng mydb_users, mydb_content, mydb_banners,... Old Database Process: Xử lý các dữ liệu cũ có trong CSDL dbjoomla. Nếu CSDL dbjoomla đã có chứa dữ liệu từ trước, bạn có thể chọn: Backup: Để Joomla lưu lại các bảng cũ đã được tạo từ trước trong CSDL dbjoomla. Ví dụ các bảng cũ của bạn có tên là u9gm6_users, thì sau khi chọn backup, tên bảng sẽ bị thay đổi là bak_u9gm6_users và các bảng mới tạo ra sẽ có tên là u9gm6_users. Remove: Gỡ bỏ hết các bảng cũ trong CSDL dbjoomla. Nhấn Next để tiếp tục cài đặt. Bạn kiểm tra lại các thông tin cài đặt và lựa chọn: Install Sample Data: Chọn loại dữ liệu mẫu. Nếu bạn không muốn chọn Website đã nhập dữ liệu mẫu, bạn chọn None Email Configuration: Nếu bạn chọn Yes, các thông tin cấu hình Website sẽ được gửi đến Email bạn đã đăng ký ở Bước 1. Configuration. Nhấn Install để bắt đầu quá trình cài đặt. Bạn chờ một vài phút để Joomla tiến hành cài đặt. Sau khi cài đặt thành công, bạn sẽ thấy: Bạn cần nhấp chuột vào Remove installation folder để gỡ bỏ thư mục Installation trong thư mục cài đặt Joomla để hoàn tất quá trình cài đặt. Bạn sẽ cần thực hiện thao tác này mới có thể truy cập tới trang chủ và trang quản trị Joomla được. Nhấp chuột vào Site để tới trang chủ Website Joomla bạn vừa cài đặt. Hoặc, bạn cũng có thể gõ trên thanh địa chỉ của trình duyệt Web: localhostjoomla để đi tới trang chủ Website. Nhấp chuột vào Administrator để tới trang quản trị Joomla 3.4.1. Hoặc bạn cũng có thể nhập trên thanh địa chỉ của trình duyệt Web: localhostjoomlaadministrator để truy cập tới trang quản trị Joomla. Vậy là bạn đã cài đặt thành công Joomla 3.4.1 trên localhost. 2.2.2. Cấu hình Joomla Joomla khi cài xong đã cấu hình mặc định một vài tính năng trong hệ thống, tuy nhiên chúng ta cũng cần xem lại và cấu hình cho hợp lý. Trong phần này chúng tôi hướng dẫn cấu hình một số tính năng trong hệ thống như sau: Vào Admin (Backend) và chọn Global Configuration trong Control Panel. Chú ý: Trong tab Site: Site offine: có 2 trạng thái: Không (hoạt động), Có (ngừng hoạt động) Offine Message: hiển thị thông báo web sỉte ngừng hoạt động. System Error Message: hiển thị thông báo khi web sỉte bị lỗi. 2.3. Thử nghiệm Joomla + Kéo và thả: Các tính năng kéo và thả được áp dụng để làm cho việc quản lý mặt hàng dễ dàng hơn. Tất cả các mũi tên cũ trên cột đặt hàng đã được gỡ bỏ, bây giờ bạn có thể kéo và thả mục tự do trong các chuyên mục của nó để thay đổi thứ tự của danh sách mục. Để sử dụng tính năng Drag Drop, bạn phải nhấp chuột vào hộp kết hợp 1 ở trên bên phải của bảng danh sách, lựa chọn đặt hàng cho Sort table by. Bây giờ bạn có thể thấy kéo biểu tượng ở cột bên phải của mỗi mục, di chuyển để kéo mục và thả vào vị trí mà bạn muốn. Danh mục trong Joomla 3.4.1 sẽ có trình đơn ngữ cảnh cho từng hạng mục, giúp bạn truy cập nhanh chóng đến các chức năng cơ bản như chỉnh, Xuất bản Không xuất bản, Delete, Thiết lập mặc định. PHẦN 3. CÁC MỞ RỘNG CƠ BẢN CỦA JOOMLA 3.1. Joomla Component Joomla Component là một trong các loại thành phần mở rộng quan trọng nhất của Joomla và thực chất nó là một ứng dụng trong hệ thống Joomla. Component được sử dụng để thực hiện một chức năng lớn nào đó, chẳng hạn như: Cung cấp tin tức, quảng cáo, rao vặt, đặt phòng khách sạn, bất động sản, download... Một component được hiển thị ở phần trung tâm, hay phần chính (mainbody) của Website. Hình 1.4 Menu quản lý các Component của Joomla Các Component mặc định của Joomla Trong phiên bản Joomla 1.5 có tất cả 11 component mặc định được cung cấp kèm theo. Các component này được đặt trong thư mục Joomlacomponents và nằm trong các thư mục con tương ứng với ký hiệu là com_têncomponent. Hình 1.5 Danh sách các component mặc định của Joomla 1.5 Danh sách các component và ý nghĩa của chúng: + com_banners: Quản lý bảng quảng cáo (banner). + com_contact: Quản lý các đầu mối liên hệ (contact). + com_content: Quản lý và hiển thị bài viết (đây là component quan trọng nhất) + com_mailto: Quản lý chức năng gửinhận email. + com_media: Quản lý các tệp đa phương tiện (video, flash, mp3, hình). + com_newsfeeds: Quản lý việc lấy tin từ website khác. + com_poll: Cung cấp chức năng bình chọn. + com_search: Cung cấp chức năng tìm kiếm. + com_user: Quản lý thành viên. + com_weblinks: Quản lý và hiển thị danh mục các website liên kết. + com_wrapper: Cho phép nhúng một website khác trong cửa sổ của website Joomla.. 3.2. Joomla Modules Joomla Module là một trong các thành phần mở rộng của Joomla, nó là một ứng dụng nhỏ (thường chỉ có vài file và phần lập trình cũng không nhiều) được sử dụng chủ yếu để lấy dữ liệu và hiển thị thông tin. Module thường được dùng kết hợp kèm với các component nhằm mở rộng, cũng như thể hiện rõ ràng hơn các chức năng của component. Không giống như component, một module có thể được đặt ở bất kỳ vị trí nào trên template hoặc vị trí do người dùng tự định nghĩa. Ngoài ra một module có thể được nhân bản, nghĩa là cùng lúc có thể xuất hiện tại một vị trí hoặc các vị trí khác nhau. Hình 1.6 Module bình chọn được đặt ở trang chủ Vị trí của Module Joomla. Vị trí của module (module position) là nơi mà module có thể được đặt vào đó. Mỗi vị trí đều được xác định thông qua một định danh duy nhất (một cái tên), chẳng hạn như: left, right, top, bottom, user1, user2... Tên và số lượng các vị trí này được quy định bởi template. Các template khác nhau thì số lượng vị trí module cũng như tên của chúng có thể khác nhau. Ngoài ra, trong quá trình sử dụng người dùng cũng có thể tự định nghĩa các vị trí mới sao cho phù hợp với yêu cầu của mình. Các Module mặc định của Joomla 1.5 Trong phiên bản Joomla 1.5 có tất cả 20 module mặc định được cung cấp kèm theo. Các module này được đặt trong thư mục Joomlamodules và nằm trong các thư mục con tương ứng với ký hiệu là mod_tenmodules. Hình 1.7 Các module mặc định của Joomla1.5 Danh sách các Module Joomla được cung cấp theo mặc định. + mod_archive: Module hiển thị các bài viết đã được đánh dấu lưu trữ. + mod_banners: Module hiển thị các quảng cáo. + mod_breadcrumbs: Module hiển thị thanh điều hướng. + mod_custom: Module hiển thị một đoạn mã HTML bất kỳ. + mod_feed: Module hiển thị tin lấy từ các website khác. + mod_footer: Module hiển thị dòng bản quyền ở cuối Website. + mod_latestnews: Module hiển thị các bài viết mới nhất. + mod_login: Module hiển thị form đăng nhập. + mod_mainmenu: Module hiển thị menu điều khiển. + mod_mostread: Moudle hiển thị các bài viết được đọc nhiều nhất. + mod_newsflash: Module hiển thị tin vắn tin nhanh. + mod_poll: Module hiển thị bình chọn. + mod_random_image: Module hiển thị ảnh ngẫu nhiên. + mod_related_items: Module hiển thị các bài viết liên quan. + mod_search: Module hiển thị form tìm kiếm. + mod_sections: Module hiển thị danh sách các mục của Website. + mod_stats: Module hiển thị các thông số thống kê của Website. + mod_syndicate: Module cấp tin cho các website khác. + mod_whoisonline: Module hiện danh tính và số người trực tuyến. + mod_wrapper: Mudule hiển thị một trang web bất kỳ được nhúng vào website Joomla. 3.3. Plugins Là thành phần mở rộng cung cấp một số chức năng cộng thêm cho website. Plugins khác với module và component ở đặc điểm người quản trị không cần quản lý nó thường xuyên. Hình 1.8 Menu quản lý Joomla Plugin từ trang quản trị Các Plugin mặc định của Jooml: Trong phiên bản Joomla 1.5 có tất cả 32 plugin mặc định được cung cấp kèm theo. Các module này được phân thành 8 loại khác nhau và đặt trong các thư mục con tương ứng của thư mục Joomlaplugins. Hình 1.9 Danh sách 8 loại plugin mặc định của Joomla Danh sách các loại plugin của Joomla: + authentication: Các plugin chứng thực quyền hạn. + content: Các plugin nội dung (bài viết). + editors: Các plugin về trình soạn thảo. + editorsxtd: Các plugin hỗ trợ, mở rộng tính năng cho trình soạn thảo. + search: Các plugin về tìm kiếm. + system: Các plugin của hệ thống. + user: Các plugin về người dùng. + xmlrpc: Các plugin cho phép quản trị Joomla, viết bài từ các hệ thống khác. 3.4. Joomla Template Joomla Template là một gói bao gồm các file PHP, HTML, CSS, JS (Javascript)... và các tấm hình, ảnh, biểu tượng, video, flash kèm theo tạo nên giao diện (bố cục và hình hài) của website Joomla. Hình 1.10 Quản lý Template Joomla từ trang quản trị Các Template mặc định của Joomla: Trong phiên bản Joomla 1.5 có 3 template được đóng gói sẵn kèm theo: JA Purity (Joomlart), Rhuk Milkyway (RocketTheme) và Beez (Angie RadtkeRobert Deutz). Trong đó JA Purity là template được thiết kế bởi Joomlart công ty có xuất xứ từ Việt Nam và là công ty hàng đầu về template Joomla hiện nay. Hình 1.11 Template Beez, JA Purity và Rhuk Milkyway của Joomla Đặc điểm của Template Joomla: + Các template của Joomla đều có khả năng tùy biến cao thông qua cách sắp xếp và đặt vị trí các module rất linh động. + Việc thiết kế Template Joomla khá dễ dàng, thậm chí chỉ cần vài giờ là có thể chuyển từ một template thuần HTMLCSS hay một template của một PORTALCMS khác sang template Joomla. + Có thể dùng cùng lúc vài template khác nhau trên cùng website. Chẳng hạn đối với trang HOME gắn với template JA Purity, còn trang DOWNLOAD lại gắn với template Rhuk Milkyway... + Số lượng template Joomla free (template miễn phí) và template Joomla commercial (template có phí) được cung cấp trên mạng internet hiện nay là một con số rất lớn. Có tới hàng nghìn thậm chí hàng chục nghìn template. 3.5. Joomla Languages Joomla là mã nguồn mở hỗ trợ đa ngôn ngữ, sử dụng file định dạng “.ini” để lưu trữ các thông tin chuyển đổi ngôn ngữ, nó 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ã UTF8. Bằng cách cài đặt một gói ngôn ngữ, có thể để quốc tế hóa Joomla sang các ngôn ngữ khác nhau.
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT&TT BÁO CÁO BÀI TẬP NHÓM ĐỀ TÀI: TÌM HIỂU, CÀI ĐẶT, THỬ NGHIỆM JOOMLA VÀ CÁC MỞ RỘNG CƠ BẢN Giảng viên: Nguyễn Tuấn Hiệp Sinh viên: Cao Văn Tú Đoàn Quang Tuấn Hoàng Đình Luân Đàm Quang Hỷ Thào Chư Lớp: CNTTK12D Môn: Phát triển phần mềm mã nguồn mở Thái Nguyên, tháng 03 năm 2017 1 MỤC LỤC PHẦN 1 TỔNG QUAN VỀ JOOMLA .4 1.1 Khái niệm về Joomla 4 1.2 Vài nét về lịch sử của Joomla 4 1.3 Tại sao phải chọn Joomla? 5 1.4 Kiến trúc Joomla .5 1.4.1 Cấu trúc của gói cài đặt Component 6 1.4.2 Cấu trúc của một Component 7 1.4.3 Cấu trúc của gói cài đặt Module 7 1.4.4 Cấu trúc của gói cài đặt Template (Temp) 9 Đưa Component, Module và Template tích hợp vào Joomla .10 1.5 Ứng dụng của Joomla 11 PHẦN 2 CÀI ĐẶT VÀ THỬ NGHIỆM 12 2.1 Sử dụng WebServer chạy Joomla (Xampp) 12 2.1.1 Cài đặt WebServer Xampp .12 2.1.2 Cấu hình WebServer Xampp 12 2.2 Cài đặt và cấu hình Joomla .12 2.2.1 Cài đặt Joomla 12 2.2.2 Cấu hình Joomla .20 2.3 Thử nghiệm Joomla 20 PHẦN 3 CÁC MỞ RỘNG CƠ BẢN CỦA JOOMLA .22 3.1 Joomla Component 22 2 3.2 Joomla Modules 23 3.3 Plugins .26 3.4 Joomla Template .27 3.5 Joomla Languages 29 3 PHẦN 1 TỔNG QUAN VỀ JOOMLA 1.1 Khái niệm về Joomla Joomla là một hệ thống quản trị nội dung (CMS – Content Management System) giúp bạn thực hiện các website động một cách nhanh chóng và dễ dàng Là hệ thống quản trị nội dung mã nguồn mở số 1 thế giới hiện nay Linh hoạt, đơn giản, thanh nhã, tính tuỳ biến rất cao và cực kỳ mạnh mẽ, đó là những gì có thể nói về Joomla! Được sử dụng ở trên toàn thế giới từ những trang web đơn giản cho đến những ứng dụng phức tạp Việc cài đặt Joomla! rất dễ dàng, đơn giản trong việc quản lý và đáng tin cậy 1.2 Vài nét về lịch sử của 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 4 9 năm 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 1.3 Tại sao phải chọn Joomla? Tại sao lại chọn Joomla CMS ? liệu có thể tin tưởng được, Joomla có đủ mạnh? nếu chưa đọc bạn hãy đọc bài viết giới thiệu về Joomla bạn sẽ biết Joomla tuyệt vời như thế nào Joomla là một hệ thống quản trị nội dung (CMS – Content Management System) mã nguồn mở dùng ngôn ngữ PHP và cơ sở dữ liệu MySQL Joomla là một sân chơi, giao lưu học tập hoàn toàn miễn phí, tồn tại dựa trên sự hỗ trợ, tham gia phát triển của tất cả mọi người, những người yêu thích Joomla và những người muốn góp phần nhỏ kiến thức của mình thúc đẩy sự phát triển CNTT Việt Nam Hiện nay đang phát triển song song với Joomla là DotNetNuke, Dotnetnuke là một portal mã nguồn mở viết trên công nghệ Net hay còn gọi DotNetNuke là một Portal mã nguồn mở, có nhiều tính năng gần giống như Joomla, nhưng nó phát triển rộng hơn Để biết rỏ giữa Joomla và DotNetNuke như thế nào, chúng ta làm một phép so sánh : − Giá thuê host Joomla rẻ hơn (DotNetNuke phải chạy trên Windows server tốn tiền hơn Joomla chạy trên Linux server) − Cộng đồng Joomla lớn hơn (bạn cứ thử gõ "DotNetNuke" trên Google rồi sau đó gõ Joomla trên Google sẽ có kết quả ngay ấy mà) − Các phân luồng thông tin và phân quyền trong Joomla rõ ràng hơn, dễ sử dụng hơn với người cập nhập thông tin − Tuy nhiên Joomla không thể quản trị cho các site có cơ sở dữ liệu lớn 1.4 Kiến trúc Joomla Joomla được phát triển theo kiến trúc 3 tầng hệ thống: 5 Hình 1.1 Cấu Trúc Joomla − 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 JApplication: Lớp này đại diện cho ứng dụng Joomla và được thực hiện như một nhà máy qui định mọi ứng dụng giữ những đối tượng Lớp này bao gồm các lớp con như: JInstallation, JAdministrator và JSite Mambot (Plug-in): Là các chức năng được bổ sung thêm cho Com, các Mambot này sẽ can thiệp, bổ sung vào nội dung của trang Web trước hoặc sau khi nó được hiển thị Mambot có thể được cài đặt thêm vào Web Site Hay nói cách khác Mambot là phương tiện giao tiếp với component 1.4.1 Cấu trúc của gói cài đặt Component Component (Com): Là thành phần chính của trang Web, nó quyết định đến chức năng, hình thức, nội dung chính của mỗi trang Web Com có thể có thêm Mod để hỗ trợ cho việc hiển thị các chức năng và nội dung của Com Com có thể được cài đặt thêm vào Web Site Thông thường sau khi cài đặt Joomla! có sẵn các Component: Banners (quản lý các bảng quảng cáo), Contacts (quản lý việc liên hệ giữa người dùng với Ban quản trị Web Site), Search (quản lý việc tìm kiếm), News Feeds (quản lý các 6 tin tức), Polls (quản lý việc bình chọn, ý kiến của người dùng), Web Links (quản lý các liên kết ngoài Web Site) và các Com quản lý nội dung của trang Web 1.4.2 Cấu trúc của một Component 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 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 component 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 file js, file ảnh tùy thuộc vào mức độ bạn cần ở com này và mức độ bạn hiểu Một file XML để phục vụ cho việc cài đặt khi bạn đóng gói File XML này sẽ mang tất cả các thông số về Tên com; tên tác giả, địa chỉ email, license (optional) Mục đích chính của file này là khai báo các file trong frontend và backend (đường dãn đầy đủ của các file này) để upload khi cài đặt, khai báo các query tạo và insert database (nếu bạn phải thêm database) và các query uninstall Một điểm quan trọng là phải hiểu các object, class, function cơ bản trong joomla thì mới sử dụng được chúng để viết (ví dụ như object về database ) Khi đóng gói thì nhớ ở dạng zip, tar nếu ở dạng zar thì joomla ko hiểu đc Nếu chưa đóng gói được thì làm manual bằng cách insert trong database và copy các file vào các folder tương úng (không khuyến cáo sd cách này) 1.4.3 Cấu trúc của gói cài đặt Module Module (Mod) Là bộ phận mở rộng thêm chức năng cho Web Site, các Mod này có các chức năng khác nhau, được hiển thị trên trang Web tại các vị trí qui định và 7 có thể thay đổi được Một trang Web có thể hiển thị nhiều Mod giống và khác nhau, Mod có thể được cài đặt thêm vào Web Site.Thông thường sau khi cài đặt Joomla! có sẵn các Module: Main Menu (menu chính), Top Menu (menu phụ, nằm ngang), Search (hiển thị công cụ tìm kiếm), Poll (hiển thị bảng bình chọn, lấy ý kiến), Newsflash (hiển thị các bản tin nổi bật), Hit Counter (hiển thị số lượng truy cập Web Site), Banners (hiển thị các bảng quảng cáo) Thông thường một Mod sẽ gồm có 2 file chính là php (chương trình) và file xml (thông số cài đặt), ngoài ra có thể có thêm thư mục ảnh, Java Script hỗ trợ thêm cho Module File.xml (Chứa thông số cài đặt) 8 1.4.4 Cấu trúc của gói cài đặt Template (Temp) Template: Là giao diện, khuông dạng, kiểu mẫu, hình thức được thiết kế để trình bày nội dung của trang Web và có các vị trí định sẵn để tích hợp các bộ phận, thành phần của trang Web Joomla! cho phép cài đặt và thay đổi Temp cho Web Site hay cho từng trang Web khác nhau một cách dễ dàng Một gói cài đặt template Joomla gồm các file bắt buộc sau: − index.php − templateDetails.xml − template_css.css hoặc template.css − template_thumbnail.png − các thư mục và file khác File "index.php" 9 File này gồm các mã lệnh PHP, thẻ , thẻ và các bảng hoặc các thẻ để định vị các module và tạo nên bố cục của template File "templateDetails.xml" Được sử dụng trong quá trình cài đặt File này chứa các thông số về template và giúp Joomla! biết được trong quá trình cài đặt cần tạo các thư mục và truyền các file css, php, ảnh nào lên thư mục templates File "template_css.css" hoặc "template.css" Joomla 1.0.x sử dụng file template_css.css còn Joomla 1.5 sử dụng file template.css Đây chính là CSS chính của Joomla File này kết hợp với index.php để tạo nên template File "template_thumbnail.png" File này chính là ảnh chụp minh họa của template Nó giúp bạn dễ hình dung khi lựa chọn template hoặc trong phần quản trị hoặc ở mặt tiền của Website (nếu bạn cho phép mọi người có thể tùy chọn template) Các thư mục và file khác Ngoài các file chính nói trên trong gói cài đặt template có thể có thêm thư mục CSS để chứa các file CSS bổ sung, thư mục ảnh để chứa các ảnh được sử dụng cho template, thư mục javascript để chứa các javascript (nếu có) Đưa Component, Module và Template tích hợp vào Joomla Để có thể tích hợp component, module và template vào Joomla ngoài việc dựa vào chuẩn cấu trúc của từng phần, kiến trúc của Joomla mà còn theo một số phương pháp sau: Các com, mod, template được tạo ra phải nén dưới dạng file.zip khi đó mới được cài đặt vào Các com, mod, temp phải phù hợp với từng phiên bản của Joomla Dùng lệnh Installation tương ứng với com, mod, temp để cài đặt Sau khi đã cài đặt thành công thì kích hoạt com, mod, temp để có thể chạy ứng dụng bằng cách Publish 10 Nếu bạn chưa chạy phần mềm XAMPP, bạn cần chạy XAMPP để kích hoạt 2 dịch vụ Apache và MySQL trước khi tiến hành cài đặt Joomla Bạn nhập: "localhost/joomla" trên thanh địa chỉ của trình duyệt Web để bắt đầu cài đặt Joomla, bạn sẽ được tự động chuyển hướng "localhost/joomla/installation/index.php" như trong hình: Bước 1 Cấu hình (Configuration): Bạn tiến hành điền các thông tin để cấu hình Website Joomla: - Select Language: Bạn lựa chọn ngôn ngữ sử dụng cho Website - Site Name: Nhập tên Website - Description: Nhập đoạn mô tả về Website Joomla - Admin Email: Nhập địa chỉ Email quản trị của bạn 14 tới trang - Admin Username: Nhập tên đăng nhập bạn muốn sử dụng để đăng nhập trang quản trị Joomla Trong ví dụ, mình sẽ sử dụng tên đăng nhập tài khoản quản trị là "admin" - Admin Password: Nhập mật khẩu đăng nhập (đặt là "admin") - Confirm Admin Password: Nhập lại mật khẩu (nhập lại là "admin") - Site Offline: + Chọn "No" (mặc định): Ngay khi bạn cài đặt xong Joomla, bạn có thể vào xem trang chủ Website Joomla (trang FrontEnd) luôn được + Chọn "Yes": Nếu bạn chọn trạng thái này, khi bạn hoàn tất cài đặt Joomla, bạn chỉ có thể vào được trang quản trị Joomla ( trang BackEnd), mà không vào được trang chủ Joomla (trang FrontEnd) Bạn muốn chuyển từ "Yes" sang "No", bạn cần thay đổi trong mục Global Configuration của trang quản trị Nhấn Next để chuyển sang bước tiếp theo 15 Bước 2 Database - Database Type: Chọn kiểu CSDL ( mặc định là "MySQL") - Host Name: Điền tên host (nhập là "localhost") - Username: Điền tên đăng nhập tài khoản quản trị CSDL MySQL (nhập là "root") - Password: Điền mật khẩu tài khoản quản trị CSDL MySQL ( để trống) 16 - Database Name: Điền tên CSDL bạn đã tạo mới Trong bài viết này, mình đã tạo mới CSDL MySQL tên là "dbjoomla" nên trong mục Database Name, mình sẽ nhập "dbjoomla" - Table Prefix: Đây là các ký tự được sinh ra ngẫu nhiên và được thêm vào trước tên mỗi bảng trong CSDL của bạn Bạn sẽ có các bảng u9gm6_users, u9gm6_content, u9gm6_banners, Bạn có thể thay đổi "u9gm6" này bằng từ dễ nhớ hơn, ví dụ "mydb_" Khi đó, bạn sẽ có các bảng mydb_users, mydb_content, mydb_banners, - Old Database Process: Xử lý các dữ liệu cũ có trong CSDL "dbjoomla" Nếu CSDL "dbjoomla" đã có chứa dữ liệu từ trước, bạn có thể chọn: Backup: Để Joomla lưu lại các bảng cũ đã được tạo từ trước trong CSDL "dbjoomla" Ví dụ các bảng cũ của bạn có tên là "u9gm6_users", thì sau khi chọn backup, tên bảng sẽ bị thay đổi là "bak_u9gm6_users" và các bảng mới tạo ra sẽ có tên là "u9gm6_users" Remove: Gỡ bỏ hết các bảng cũ trong CSDL "dbjoomla" - Nhấn Next để tiếp tục cài đặt Bạn kiểm tra lại các thông tin cài đặt và lựa chọn: - Install Sample Data: Chọn loại dữ liệu mẫu Nếu bạn không muốn chọn Website đã nhập dữ liệu mẫu, bạn chọn "None" 17 - Email Configuration: Nếu bạn chọn Yes, các thông tin cấu hình Website sẽ được gửi đến Email bạn đã đăng ký ở Bước 1 Configuration - Nhấn Install để bắt đầu quá trình cài đặt Bạn chờ một vài phút để Joomla tiến hành cài đặt Sau khi cài đặt thành công, bạn sẽ thấy: 18 - Bạn cần nhấp chuột vào Remove installation folder để gỡ bỏ thư mục Installation trong thư mục cài đặt Joomla để hoàn tất quá trình cài đặt Bạn sẽ cần thực hiện thao tác này mới có thể truy cập tới trang chủ và trang quản trị Joomla được - Nhấp chuột vào Site để tới trang chủ Website Joomla bạn vừa cài đặt Hoặc, bạn cũng có thể gõ trên thanh địa chỉ của trình duyệt Web: "localhost/joomla" để đi tới trang chủ Website - Nhấp chuột vào Administrator để tới trang quản trị Joomla 3.4.1 Hoặc bạn cũng có thể nhập trên thanh địa chỉ của trình "localhost/joomla/administrator" để truy cập tới trang quản trị Joomla 19 duyệt Web: Vậy là bạn đã cài đặt thành công Joomla 3.4.1 trên localhost 2.2.2 Cấu hình Joomla Joomla khi cài xong đã cấu hình mặc định một vài tính năng trong hệ thống, tuy nhiên chúng ta cũng cần xem lại và cấu hình cho hợp lý Trong phần này chúng tôi hướng dẫn cấu hình một số tính năng trong hệ thống như sau: Vào Admin (Back-end) và chọn Global Configuration trong Control Panel Chú ý: Trong tab Site: − Site offine: có 2 trạng thái: Không (hoạt động), Có (ngừng hoạt động) − Offine Message: hiển thị thông báo web sỉte ngừng hoạt động − System Error Message: hiển thị thông báo khi web sỉte bị lỗi 2.3 Thử nghiệm Joomla + Kéo và thả: 20 Các tính năng kéo và thả được áp dụng để làm cho việc quản lý mặt hàng dễ dàng hơn Tất cả các mũi tên cũ trên cột đặt hàng đã được gỡ bỏ, bây giờ bạn có thể kéo và thả mục tự do trong các chuyên mục của nó để thay đổi thứ tự của danh sách mục Để sử dụng tính năng Drag & Drop, bạn phải nhấp chuột vào hộp kết hợp 1 ở trên bên phải của bảng danh sách, lựa chọn đặt hàng cho "Sort table by" Bây giờ bạn có thể thấy "kéo" biểu tượng ở cột bên phải của mỗi mục, di chuyển để kéo mục và thả vào vị trí mà bạn muốn Danh mục trong Joomla 3.4.1 sẽ có "trình đơn ngữ cảnh" cho từng hạng mục, giúp bạn truy cập nhanh chóng đến các chức năng cơ bản như chỉnh, Xuất bản / Không xuất bản, Delete, Thiết lập mặc định 21 PHẦN 3 CÁC MỞ RỘNG CƠ BẢN CỦA JOOMLA 3.1 Joomla Component Joomla Component là một trong các loại thành phần mở rộng quan trọng nhất của Joomla và thực chất nó là một ứng dụng trong hệ thống Joomla Component được sử dụng để thực hiện một chức năng lớn nào đó, chẳng hạn như: Cung cấp tin tức, quảng cáo, rao vặt, đặt phòng khách sạn, bất động sản, download Một component được hiển thị ở phần trung tâm, hay phần chính (mainbody) của Website Hình 1.1 Menu quản lý các Component của Joomla - Các Component mặc định của Joomla Trong phiên bản Joomla 1.5 có tất cả 11 component mặc định được cung cấp kèm theo Các component này được đặt trong thư mục [Joomla]/components và nằm trong các thư mục con tương ứng với ký hiệu là "com_têncomponent" 22 Hình 1.2 Danh sách các component mặc định của Joomla 1.5 - Danh sách các component và ý nghĩa của chúng: + com_banners: Quản lý bảng quảng cáo (banner) + com_contact: Quản lý các đầu mối liên hệ (contact) + com_content: Quản lý và hiển thị bài viết (đây là component quan trọng nhất) + com_mailto: Quản lý chức năng gửi/nhận email + com_media: Quản lý các tệp đa phương tiện (video, flash, mp3, hình) + com_newsfeeds: Quản lý việc lấy tin từ website khác + com_poll: Cung cấp chức năng bình chọn + com_search: Cung cấp chức năng tìm kiếm + com_user: Quản lý thành viên + com_weblinks: Quản lý và hiển thị danh mục các website liên kết + com_wrapper: Cho phép nhúng một website khác trong cửa sổ của website Joomla 3.2 Joomla Modules Joomla Module là một trong các thành phần mở rộng của Joomla, nó là một ứng dụng nhỏ (thường chỉ có vài file và phần lập trình cũng không nhiều) được sử dụng chủ yếu để lấy dữ liệu và hiển thị thông tin Module thường được dùng kết hợp kèm với các component nhằm mở rộng, cũng như thể hiện rõ ràng hơn các chức năng của component Không giống như component, một module có thể được đặt ở bất kỳ vị trí nào trên template hoặc vị trí do người dùng tự định nghĩa Ngoài ra một module có thể 23 được nhân bản, nghĩa là cùng lúc có thể xuất hiện tại một vị trí hoặc các vị trí khác nhau Hình 1.3 Module bình chọn được đặt ở trang chủ - Vị trí của Module Joomla Vị trí của module (module position) là nơi mà module có thể được đặt vào đó Mỗi vị trí đều được xác định thông qua một định danh duy nhất (một cái tên), chẳng hạn như: left, right, top, bottom, user1, user2 Tên và số lượng các vị trí này được quy định bởi template Các template khác nhau thì số lượng vị trí module cũng như tên của chúng có thể khác nhau Ngoài ra, trong quá trình sử dụng người dùng cũng có thể tự định nghĩa các vị trí mới sao cho phù hợp với yêu cầu của mình - Các Module mặc định của Joomla 1.5 Trong phiên bản Joomla 1.5 có tất cả 20 module mặc định được cung cấp kèm theo Các module này được đặt trong thư mục [Joomla]/modules và nằm trong các thư mục con tương ứng với ký hiệu là "mod_tenmodules" 24 Hình 1.4 Các module mặc định của Joomla1.5 - Danh sách các Module Joomla được cung cấp theo mặc định + mod_archive: Module hiển thị các bài viết đã được đánh dấu "lưu trữ" + mod_banners: Module hiển thị các quảng cáo + mod_breadcrumbs: Module hiển thị thanh điều hướng + mod_custom: Module hiển thị một đoạn mã HTML bất kỳ + mod_feed: Module hiển thị tin lấy từ các website khác + mod_footer: Module hiển thị dòng bản quyền ở cuối Website + mod_latestnews: Module hiển thị các bài viết mới nhất + mod_login: Module hiển thị form đăng nhập + mod_mainmenu: Module hiển thị menu điều khiển + mod_mostread: Moudle hiển thị các bài viết được đọc nhiều nhất + mod_newsflash: Module hiển thị tin vắn / tin nhanh + mod_poll: Module hiển thị bình chọn + mod_random_image: Module hiển thị ảnh ngẫu nhiên + mod_related_items: Module hiển thị các bài viết liên quan + mod_search: Module hiển thị form tìm kiếm + mod_sections: Module hiển thị danh sách các mục của Website 25 + mod_stats: Module hiển thị các thông số thống kê của Website + mod_syndicate: Module cấp tin cho các website khác + mod_whoisonline: Module hiện danh tính và số người trực tuyến + mod_wrapper: Mudule hiển thị một trang web bất kỳ được nhúng vào website Joomla 3.3 Plugins Là thành phần mở rộng cung cấp một số chức năng cộng thêm cho website Plugins khác với module và component ở đặc điểm người quản trị không cần quản lý nó thường xuyên Hình 1.5 Menu quản lý Joomla Plugin từ trang quản trị - Các Plugin mặc định của Jooml: Trong phiên bản Joomla 1.5 có tất cả 32 plugin mặc định được cung cấp kèm theo Các module này được phân thành 8 loại khác nhau và đặt trong các thư mục con tương ứng của thư mục [Joomla]/plugins 26 Hình 1.6 Danh sách 8 loại plugin mặc định của Joomla - Danh sách các loại plugin của Joomla: + authentication: Các plugin chứng thực quyền hạn + content: Các plugin nội dung (bài viết) + editors: Các plugin về trình soạn thảo + editors-xtd: Các plugin hỗ trợ, mở rộng tính năng cho trình soạn thảo + search: Các plugin về tìm kiếm + system: Các plugin của hệ thống + user: Các plugin về người dùng + xmlrpc: Các plugin cho phép quản trị Joomla, viết bài từ các hệ thống khác 3.4 Joomla Template Joomla Template là một gói bao gồm các file PHP, HTML, CSS, JS (Javascript) và các tấm hình, ảnh, biểu tượng, video, flash kèm theo tạo nên giao diện (bố cục và hình hài) của website Joomla 27 Hình 1.7 Quản lý Template Joomla từ trang quản trị - Các Template mặc định của Joomla: Trong phiên bản Joomla 1.5 có 3 template được đóng gói sẵn kèm theo: JA Purity (Joomlart), Rhuk Milkyway (RocketTheme) và Beez (Angie Radtke/Robert Deutz) Trong đó JA Purity là template được thiết kế bởi Joomlart - công ty có xuất xứ từ Việt Nam và là công ty hàng đầu về template Joomla hiện nay Hình 1.8 Template Beez, JA Purity và Rhuk Milkyway của Joomla - Đặc điểm của Template Joomla: + Các template của Joomla đều có khả năng tùy biến cao thông qua cách sắp xếp và đặt vị trí các module rất linh động 28 ... Không xuất bản, Delete, Thiết lập mặc định 21 PHẦN CÁC MỞ RỘNG CƠ BẢN CỦA JOOMLA 3.1 Joomla Component Joomla Component loại thành phần mở rộng quan trọng Joomla thực chất ứng dụng hệ thống Joomla. .. 12 2.2.2 Cấu hình Joomla .20 2.3 Thử nghiệm Joomla 20 PHẦN CÁC MỞ RỘNG CƠ BẢN CỦA JOOMLA .22 3.1 Joomla Component 22 3.2 Joomla Modules 23... vời Hiện Joomla phát triển theo dòng phiên bản: dòng phiên Joomla 1.0.X (ổn định) dòng phiên Joomla 1.5.X (đang phát triển) 11 PHẦN CÀI ĐẶT VÀ THỬ NGHIỆM 2.1 Sử dụng WebServer chạy Joomla (Xampp)