60
1.Điều khiển vùng {mainbody} trên trang chủ Như các bạn đã biết, trên mỗi template của Joomla luôn có rất nhiều vùng chứa các module, các vùng này đều được gán vị trí (VD: left, right, top, bottom, banner, user1...) nhưng chỉ có một vùng đặc biệt quan trọng và duy nhất - đó là vùng chính giữa mainbody. Vùng này làm nhiệm vụ hiển thị bài viết hoặc một component. Trên mỗi template, ngoài các vị trí module (Module Positon) chúng ta có vùng chính giữa (mainbody) Khi ở trang chủ, Joomla! sẽ sử dụng component có tên là com_frontpage và hiện đúng vào chỗ mainbody. Tuy nhiên không phải lúc này bạn cũng muốn như vậy, bạn có thể tùy biến theo giải pháp dưới đây: Đối với Joomla! 1.0

Customize Joomla CMS

Embed Size (px)

Citation preview

Page 1: Customize Joomla CMS

1.Điều khiển vùng {mainbody} trên trang chủ

Như các bạn đã biết, trên mỗi template của Joomla luôn có rất nhiều vùng chứa các module, các vùng này đều được gán vị trí (VD: left, right, top, bottom, banner, user1...) nhưng chỉ có một vùng đặc biệt quan trọng và duy nhất - đó là vùng chính giữa mainbody. Vùng này làm nhiệm vụ hiển thị bài viết hoặc một component.

 

Trên mỗi template, ngoài các vị trí module (Module Positon) chúng ta có vùng chính giữa (mainbody)

Khi ở trang chủ, Joomla! sẽ sử dụng component có tên là com_frontpage và hiện đúng vào chỗ mainbody. Tuy nhiên không phải lúc này bạn cũng muốn như vậy, bạn có thể tùy biến theo giải pháp dưới đây:

Đối với Joomla! 1.0

Mở file "/templates/your-template/index.php" và thay đoạn mã hiển thị mainbody

<?php mosMainBody(); ?>

bằng đoạn mã dưới đây

<?php if($option='com_frontpage') : ?> // bạn đang ở trang chủ

Page 2: Customize Joomla CMS

// thực hiện bất cứ công việc gì mà bạn muốn<?php else: ?> // bạn không còn ở trang chủ // hiển thị mainbody như bình thường <?php mosMainBody(); ?> <?php endif; ?>

Đối với Joomla! 1.5

Mở file "/templates/your-template/index.php" và thay đoạn mã hiển thị mainbody

<jdoc:include type="component" />

bằng đoạn mã dưới đây

<?php if( JRequest::getVar( 'view' ) == 'frontpage' ) { ?> // bạn đang ở trang chủ // thực hiện bất cứ công việc gì mà bạn muốn<?php } else { ?> // bạn không còn ở trang chủ // hiển thị mainbody như bình thường <jdoc:include type="component" /><?php } ?>

2.Xem vị trí các module trên template

Để xem vị trí của các module trên template bạn chỉ cần thêm đoạn "?tp=1" hoặc "index.php?tp=1" sau vào phía sau tên domain của bạn.

VD:

http://thietkejoomla.com/joomla/index.php?tp=1 http://joomla.org?tp=1

Page 3: Customize Joomla CMS

 

3.Vị trí của các module trong Joomla 1.5

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 user 1 user 2 user 3 user 4

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

Page 4: Customize Joomla CMS

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)c húng ra thành nhiều bản.Vị trí của các module được đặt trên template mặc định của Joomla 1.5 như sau:

Page 5: Customize Joomla CMS

Để 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 : http://vinadesign.vn/?tp=1

Page 6: Customize Joomla CMS

4. Tìm hiểu về đường dẫn URL và Itemid

Page 7: Customize Joomla CMS

Một ví dụ về URL và Itemid

Bạn hãy truy cập vào trang chủ của Joomla và tìm bài viết "What is Joomla!", hãy chú ý quan sát đường dẫn (url hay link) của nó là

http://www.joomla.org/content/view/12/26/ hoặc

http://joomla.org/component/option,com_content/task,view/id,12/Itemid,26/  

Bạn đã trông thấy đường link ngắn gọn như vậy là do admin của trang Joomla.org đã bật chức năng "Search Engine Friendly URLs" (Site => Global Configuration => SEO => Search Engine Friendly URLs = Yes). Còn thực tế thì link gốc ban đầu sẽ là

http://joomla.org/index.php?option=com_content&task=view&id=12&Itemid=26

Hãy chú ý con số 26 ở cuối cùng của mỗi URL ở trên. Đó chính là Itemid = 26 

Mổ xẻ 2 URL trên

URL mặc định URL khi bật  SEO Các thí dụ khác

Tên Component option=com_content content option=com_contact

Tác vụ thực hiện task=view viewtask=emailform cho phép gửi thư qua email

do_pdf tạo bản in PDF

mã (id) của bài viết id=12 12Bắt đầu từ 1.

Bài viết "Joomla 1.0.15 released" có

mã (id) của mục menu dẫn đến bài viết

Itemid=26 26

Bắt đầu từ 1.

Các bài viết trên trang chủ gắn với menu Home/Main có id=1

Mục đích của Itemid

Itemid được dùng để quyết định sự xuất hiện của các module và template. Mỗi module có thể được gắn với tất cả các menu (nghĩa là xuất hiện với mọi Itemid) hay chỉ được gắn với một số menu nào đó.

VD: Module "Who is Online" xuất hiện ở mọi trang (tức là được gắn với mọi menu hay mọi ItemID)

Tương tự như vậy, mỗi template cũng được gắn với tất cả các menu (với mọi Itemid) hay chỉ được gắn với một số menu nhất định (một số Itemid).

Page 8: Customize Joomla CMS

5.Thêm một Section trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://www.thietkejoomla.com/administrator

Bước 2. Thêm một Section

Mở menu "Content" > chọn "Section Manager" Nhấn nút [New] để tạo Section mới Điền các thông tin về Section mới

Section Title dùng để hiển thị ở Back-EndSection Name để hiển thị ở Front-End

Nhấn nút [Save] để lưu lại

Video hướng dẫn

6. Thêm một module HTML trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://thietkejoomla.com/administrator

Bước 2. Mở trang quản lý Module

Menu "Extensions" >> "Module Manager" Nhấn 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ả

7. Thêm một Menu Item liên kết tới link bên ngoài domain trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://www.thietkejoomla.com/administrator

Page 9: Customize Joomla CMS

Bước 2. Thêm một Menu Item kiểu External Link

Mở menu "Menus" > chọn "Main Menu" Nhấn nút [New] để tạo Menu Item mới Chọn kiểu link là External Link Điền các thông tin về Menu Item mới

Nhấn nút [Save] để lưu lại Mở website để xem kết quả

Video hướng dẫn

8. Thêm một liên hệ (contact) trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://thietkejoomla.com/administrator

Page 10: Customize Joomla CMS

Bước 2. Mở trang quản lý Components

Mở menu "Components" >> "Contacts" >> "Contacts" Nhấn 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ả

Video hướng dẫn

9. Thêm một Category trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://www.thietkejoomla.com/administrator

Bước 2. Thêm một Category

Mở menu "Content" > chọn "Category Manager" Nhấn nút [New] để tạo Category mới Điền các thông tin về Category mới

Category Title dùng để hiển thị ở Back-EndCategory Name để hiển thị ở Front-End

Nhấn nút [Save] để lưu lại

Video hướng dẫn

10. Thêm bài viết (Content Item) trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://www.thietkejoomla.com/administrator

Bước 2. Thêm một bài viết (Content Item)

Mở menu "Content" > chọn "Article Menager" Nhấn nút [New] để tạo bài viết (Content Item) mới Điền các thông tin về bài viết (Title: Tiêu đề của bài viết, Alias: Bí danh dùng cho

tính năng SEO/SEF...)

Page 11: Customize Joomla CMS

Nhấn nút [Save] để lưu lại Mở website để xem kết quả

Video hướng dẫn

11. Thay đổi cách hiển thị tiêu đề bài viết trong Joomla

Tiêu đề của bài viết trong Joomla có thể ở các dạng sau:

Dạng 1: Tên site - Tên bài viết (VD: Thietkejoomla - Hướng dẫn cài đặt Joomla 1.5)

Dạng 2: Tên bài viết - Tên site (VD: Hướng dẫn cài đặt Joomla 1.5 - Thietkejoomla)

Dạng 3: Tên bài viết (VD: Hướng dẫn cài đặt Joomla 1.5)

Nếu bạn đang sử dụng

Joomla 1.5

Tìm đến file [Joomla1.5]\libraries\joomla\document\html\renderer\head.php ~ dòng 61

$strHtml = $tab . '<title>' . htmlspecialchars($document->getTitle()) . '</title>' . $lnEnd;

Nếu muốn ở dạng 1 thay bằng

$strHtml = $tab . '<title>' . $mainframe->getCfg('sitename') . ' - ' . htmlspecialchars($document->getTitle()) . '</title>' . $lnEnd; // dạng 1

Nếu muốn ở dạng 2 thay bằng

$strHtml = $tab . '<title>' . htmlspecialchars($document->getTitle()) . ' - ' . $mainframe->getCfg('sitename') . '</title>' . $lnEnd; // dạng 2

Nếu muốn ở dạng 3 thay bằng

$strHtml = $tab . '<title>' . htmlspecialchars($document->getTitle()) . '</title>' . $lnEnd; // dạng 3

Joomla 1.0.x

Tìm đến file [Joomla1.0]/includes/joomla.php ~ dòng 507

$this->_head['title'] = $title ? $GLOBALS['mosConfig_sitename'] . ' - '. $title : $GLOBALS['mosConfig_sitename'];

Page 12: Customize Joomla CMS

Nếu muốn ở dạng 1 thay bằng

$this->_head['title'] = $title ? $title. ' - '. $GLOBALS['mosConfig_sitename'] : $GLOBALS['mosConfig_sitename']; // dạng 1

Nếu muốn ở dạng 2 thay bằng

$this->_head['title'] = $title ? $GLOBALS['mosConfig_sitename'] . ' - ' . $title : $GLOBALS['mosConfig_sitename']; // dạng 2

Nếu muốn ở dạng 3 thay bằng

$this->_head['title'] = $title ? $GLOBALS['mosConfig_sitename'] : $GLOBALS['mosConfig_sitename']; // dạng 3

12. Thay template không cần đăng nhập

Đôi khi bạn cần kiểm tra một Website có làm việc tốt với template nào đó không mà không cần phải vào trang quản trị bạn có thể sử dụng mẹos sau:

Đối với Joomla 1.0.x

Thêm phần sau "?jos_change_template=new_template_name" vào phía sau địa chỉ Website của bạn.

VD:

http://joomla.org/?jos_change_template=rhuk_solarflare_ii http://joomla.org/?jos_change_template=madeyourweb

Lưu ý: Chỉ áp dụng cho dòng Joomla! 1.0.x

Đối với Joomla 1.5.x

Thêm phần sau "?template=new_template_name" vào phía sau địa chỉ Website của bạn.

VD:  

http://demo.joomlaspan.com/demo15/?template=beez http://demo.joomlaspan.com/demo15/?template=rhuk_milkyway  http://joomlademo15.com/?template=beez http://joomlademo15.com/?template=rhuk_milkyway 

Page 13: Customize Joomla CMS

13. Tên template, đường dẫn, và Base URL trong Joomla 1.5

Template trong Joomla! 1.5 thường được lưu trong thư mục "\templates" với cấu trúc như sau:

\templates----------\{tên_template}------------------------\index.php File chính của template------------------------\templateDetails.xml Thông tin về template------------------------\template_thumbnail.png Ảnh chụp template------------------------\params.ini Các tham số hỗ trợ------------------------\index.html Chống liệt kê thư mục------------------------\favicon.ico Biểu tượng nhỏ hiện trong thanh Address

------------------------\CSS\template.css File CSS chính----------------------------\template_rtl.css Cho các site có chữ đọc từ phải sang trái

------------------------\images Thư mục ảnh dùng cho template

Mở file "index.php" và gõ các dòng mã sau để kiểm tra

Tên template đang dùng

<?php echo $mainframe->getCfg('sitename');?>

Địa chỉ Email của Administrator

<?php echo $mainframe->getCfg('mailfrom');?>

Thư mục chứa template

<?php echo $this->template?>

Base URL

<?php echo JURI::base();?>

14. Tạo link thân thiện SEO/SEF trong Joomla 1.5

Bước 1. Mở trang quản trị

Page 14: Customize Joomla CMS

VD: http://thietkejoomla.com/administrator

Bước 2. Thêm một bài viết (Content Item)

Mở menu "Site" > chọn "Global Configuration" Trong tab "Site" tìm mục "SEO Settings" Trong mục "Search Engine Friendly URLS" chọn Yes Trong mục "Use mod_rewrite" chỉ chọn Yes nếu HOST đã bật mod_rewrite Nhấn nút [Save] để lưu lại cấu hình Trong trường hợp bạn chọn Yes đối vơi mục "Use mod_rewrite" thì bạn cần

thêm một vài thao tác nữa: Tìm file có tên là htaccess.txt ở thư mục gốc, sửa dòng "RewriteBase ....", lưu lại rồi đổi tên file này thành .htaccess

Video hướng dẫn

15. Sao lưu và khôi phục Website Joomla! bằng phpMyAdmin

Một trong những công việc hết sức quan trọng và cần được quan tâm thường xuyên của quản trị Website Joomla đó là: Sao lưu (backup) định kỳ và khôi phục (restore) Website khi gặp sự cố. Việc sao lưu và khôi phục tuy không mất nhiều thời gian nhưng đa số Webmaster lại quên hoặc ngại, cho đến khi sự việc xảy ra thì không có cách gì cứu vãn; công sức và thời gian bỏ ra có thể rất lớn.

Về giải pháp sao lưu và khôi phục Website có thể có nhiều nhưng ở đây ta chỉ đề cập đến cách thông dụng: Sao lưu toàn bộ (gồm sao lưu toàn bộ thư mục chứa Website Joomla và sao lưu toàn bộ Cơ sở dữ liệu - Database)

Việc sao lưu và khôi phục Website Joomla! có thể thực hiện bằng 2 cách: thủ công hoặc tự động. Tuy nhiên trong bài viết này ta chỉ đề cập đến việc sao lưu thủ công.

Quá trình sao lưu.

Sao lưu thư mục Website Joomla!

Bạn chỉ cần dùng một công cụ FTP như FileZilla, CuteFTP, SmartFTP, Net2FTP... để copy toàn bộ thư mục chứa Website Joomla! và lưu xuống ổ cứng.

Sao lưu cơ sở dữ liệu (database)

Page 15: Customize Joomla CMS

Thông thường HOSTING của bạn sẽ cung cấp công cụ phpMyAdmin để quản trị CSDL (Database). Các bước thực hiện như sau:

Vào cPanel --> MySQL Databases --> phpMyAdmin Mở công cụ phMyAdmin.

Chọn Database chứa Joomla trong danh sách xổ xuống (bên tai trái)

Chọn mục "Export"

Chọn "Add DROP TABLE / DROP VIEW" và "Add IF NOT EXISTS" (nếu có)

Page 16: Customize Joomla CMS

Chọn "Save as file"

Nhấn nút "Go" Lưu file *.sql mà phpMyAdmin vừa xuất ra.

Nếu HOSTING cung cấp một công cụ khác, quy trình thao tác cũng thực hiện tương tự.

Quá trình khôi phục.

Khôi phục thư mục chứa Website Joomla:

Bạn hãy xóa toàn bộ thư mục chứa Website Joomla hiện tại sau đó copy thư mục đã sao lưu vào thế chỗ.

Khôi phục Cơ sở dữ liệu (Database)

Mở công cụ phpMyAdmin Chọn database chứa Joomla Chọn "Import" Nhấn nút "Browser" và chọn file *.sql mà bạn đã sao lưu Nhấn nút "Go" để khôi phục

16. Sao lưu Cơ sở dữ liệu Joomla bằng phpMyAdmin

Mở trang quản trị cơ sở dữ liệu

Trang quản trị thường có dạng: http://yourdomain/phpMyAdmin

Nhập usernam và password mà HOSTING đã cung cấp cho bạn.

VD: http://thietkejoomla.com/phpMyAdmin

Tiến hành sao lưu (backup) cơ sở dữ liệu chứa Joomla!

Trong khung bên tay trái chọn database chứa Joomla! Nhấn nút [Export] trên thanh công cụ của phpMyAdmin

Page 17: Customize Joomla CMS

Trong khung bên trái của mục "Export" chọn các table mà bạn muốn sao lưu Chọn mục "Save as file" (ở phía cuối trang) Nhấn nút [Go] để xuất dữ liệu

Video Demo:

17. Quy trình tạo một bài viết trong Joomla!

Content (bài viết) trong Joomla! được tổ chức theo mô hình phân cấp và chỉ gồm 2 mức. Mức cao nhất: Section (phần/mục), mức tiếp theo: Category (chuyên mục) là mức con của Section.

Bạn có thể xem sơ đồ dưới đây hoặc hình vẽ mô tả bên cạnh.

|Section|--------|Category|-----------------|Content 1|-----------------|Content 2|

Do vậy để tạo một bài viết chúng ta cần thực hiện tối đa là 3 bước.

Bước 1. Tạo Section (phần/mục).

Bước 2: Tạo Category (chuyên mục).

Bước 3: Tạo Content (bài viết).

Chú ý: Khi tạo Website nên định hình và tạo ngay các phần/mục (Section) và các chuyên

mục (Category) tương ứng. Joomla! chỉ hỗ trợ phân cấp thành 2 mức như trên. Do vậy nếu muốn chia thành

nhiều mức hơn bạn cần tìm một component hỗ trợ từ site: http://extensions.joomla.org

18. Quy trình tạo một bài viết trong Joomla

Content (bài viết) trong Joomla được tổ chức theo mô hình phân cấp và chỉ gồm 2 mức. Mức cao nhất : Section (phần/mục), mức tiếp theo : Category (chuyên mục) là mức con

của Section.

Bạn có thể xem sơ đồ dưới đây hoặc hình vẽ mô tả bên cạnh.

Page 18: Customize Joomla CMS

|Section|--------|Category|

-----------------|Content 1|-----------------|Content 2|

Do vậy để tạo một bài viết chúng ta cần thực hiện tối đa là 3 bước.

Bước 1. Tạo Section (phần/mục).

Bước 2: Tạo Category (chuyên mục).

Bước 3: Tạo Content (bài viết).

Chú ý: Khi tạo Website nên định

hình và tạo ngay các phần/mục(Section) và các

chuyên mục (Category) tương ứng.

Joomla chỉ hỗ trợ phân cấp thành 2 mức như trên.

Do vậy nếu muốn chia thành nhiều mức hơn bạn cần tìm một component hỗ trợ từ site:http://extensions.joomla.org 

19. Quản trị site Joomla 1.5 và những thay đổi so với Joomla 1.0

Page 19: Customize Joomla CMS

Control Panel

Các biểu tượng được trau chuốt và mang phong cách của Web 2.0 Xóa bỏ mục "Static Content Manager" vì trong Joomla 1.5 không còn khái niệm

"static content item" Xóa bỏ mục "Trash Manager" thay vào đó là "Menu Trash" thuộc phần quản lý

"Menus" và "Article Trash" thuộc phần quản lý "Content" Mục "Add New Content" được đổi tên thành "Add New Article". Khái niệm

"content" được thay thế bằng khái niệm "article"

Quick Statistic Panel

Page 20: Customize Joomla CMS

Bảng truy cập nhanh cũng được thiết kế lại. Thay vì sử dụng tab Joomla 1.5 sử dụng bảng trượt nhờ thư viện Mootools

Global Configuration

Trong Joomla 1.5 các phần cấu hình được sát nhập và điều chỉnh từ 10 xuống còn 3.

Chúng ta cùng xem xét các phần này

Global configuration - Site:

Page 21: Customize Joomla CMS

Global Configuration - Site

Phần này có thêm một mục mới là "Feed Settings".

Global Configuration - System:

Page 22: Customize Joomla CMS

Global Configuration: System

Phần này có thêm nhiều tùy chọn mới:

System Settings: cung cấp các tùy biến từ phần Server của phiên bản 1.0. Những thứ mới ở đây là: cho phép lựa chọn thư mục chứa file log; bật/tắt Web Services; lựa chọn server hỗ trợ.

User Setting: cung cấp các tùy biến từ phần Site của phiên bản 1.0. Media Settings: cho phép chọn thư mục lưu ảnh, kiểu file ảnh và kích thước tối

đa được phép Debug Settings: Cache Settings: Session Settings:

Global Configuration - Server

Page 23: Customize Joomla CMS

Global Configuration - Server

Thêm một mục mới là FTP Settings cho phép upload file và cài đặt các thành phần mở rộng thông qua lớp FTP (giải quyết được vấn đề quyền hạn đối với các thư mục trong Joomla 1.0)

User Manager: Mục này không có nhiều thay đổi. Chỉ có một vài cải tiến giúp cho việc sử dụng dễ dàng hơn, trực quan và sinh động hơn

Page 24: Customize Joomla CMS

User Manager

Media Manager: Một trong những thay đổi quan trọng của Joomla 1.5 là Media Manager.

Page 25: Customize Joomla CMS

20. Quản trị nội dung trong Joomla 1.5 và những thay đổi so với Joomla 1.0

Article Manager

Trong Joomla 1.5 chỉ có một nơi duy nhất để quản lý nội dung (hay quản lý bài viết) đó là "Article Manager". Mục quản lý này bao gồm cả 3 mục All Content Items, Static Content Manager và Archive Manager của Joomla 1.0.

Page 26: Customize Joomla CMS

Article Manager

Mục quản lý các nội dung lưu trữ "Archive Manager" được thiết kế hợp lý hơn. Chỉ cần thao tác với 2 nút nhấn "Archive" và "Unarchive".

Các tham số liên quan tới bài viết như Tạo link cho tiêu đề bài viết, Hiện link "Đọc thêm"... được nhóm vào cùng một chỗ - nút Preferences (hoặc Parameters). Trong Joomla 1.0 những tham số tùy chỉnh này được đặt trong tab Content của mục Global Configuration.

Thêm bộ lọc trạng thái của bài viết: Published (đã được xuất bản), Unpublished (chưa xuất bản), Archived (đã lưu trữ)

Các bài viết đã lưu trữ được đánh dấu bằng màu xám và có chữ [Archived] bên cạnh

Trong danh sách liệt kê các bài viết, chúng ta có thêm cột Hits để hiện số lượt truy cập bài viết. Trong Joomla 1.0 tham số này được đặt ở một mục riêng Page Impressions nên không tiện lợi.

Section Manager, Category Manager, Front Page Manager

Cả 3 mục này đều tương tự nhau và không có nhiều thay đổi mang tính đột phá so với Joomla 1.0. Chúng ta cùng xem xét phần quản lý Section - Section Manager

Page 27: Customize Joomla CMS

Section Manager

Bộ lọc tiêu đề được thêm vào 2 mục Section Manager và Category Manager. Trong Joomla 1.0 bộ lọc này chỉ có trong mục Content Manager.

Bộ lọc trạng thái Published và Unpublished cũng được thêm vào phần quản lý Section (Section Manager)

21. Quản lý User trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://thietkejoomla.com/administrator

Bước 2. Mở mục quản lý User

Mở menu "Site" > "User Manager" 

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

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]

Page 28: Customize Joomla CMS

Xóa một User Chọn User cần xóa và nhấn nút [Delete]

22. Quản lý ảnh trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://thietkejoomla.com/administrator

Bước 2. Mở trang quản lý ảnh

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"

23. Module - Front End - Back End

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ề).

Module có tên bắt đầu bằng mod_

Chúng ta có các module thông dụng:

Lastest News (mod_latestnews): Module hiển thị các tin mới nhất Popular News (mod_mostreads): Module hiển thị các bài được quan tâm nhiều

nhất Related Items (mod_related_items): Module hiển thị các bài viết liên quan Random Image (mod_random_image): Module hiển thị các ảnh ngẫu nhiên Search Module (mod_search): Module công cụ tìm kiếm Login Module (mod_login): Module hiển thị form đăng nhập hệ thống Stats Module (mod_stats): Module hiển thị các thông tin thống kê về hệ thống Menu Module (mod_mainmenu): Module hiển thị các menu của website Banners Module (mod_banners): Moudule hiển thị các banner quảng cáo ...

Page 29: Customize Joomla CMS

Front-end : Front-end 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 (home-page) - trang chủ.

 

Giao diện Front-end của Joomla 1.5.x

Back-end : Back-end còn được biết với tên gọi Public Back-end, Administrator, Control Panel là 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 thường được truy cập thông qua đường dẫn: http://www.yourdomain.com/administrator.

 

Giao diện Back-end của Joomla 1.5.x

24. Lỗi đăng nhập vào Joomla có thể do những nguyên nhân nào?

Page 30: Customize Joomla CMS

Một số nguyên nhân

1. Do bộ cài đặt Joomla

Bạn nên cài đặt/nâng cấp lên bản Joomla mới nhất và nhớ backup trước khi thực hiện

Đặt câu hỏi tại http://forum.joomla.org/ hoặc http://www.joomlaviet.org/forum/

2. Do Web Server, Hosting

Hãy chắc chắn rằng Web Server của bạn đang bình thường. Hỏi Hosting xem liệu gần đây họ có cấu hình lại hay nâng cấp, cập nhật, sửa đổi gì không?

Khuyến cáo sử dụng phần mềm Web Server: WAMP hoặc XAMPP (gồm: Apache+MySQL+PHP) nếu bạn đang sử dụng localhost làm Web Serrver

3. Do tường lửa

Hãy chắc chắn rằng phần mềm tường lửa (Norton , ZoneAlarm ...) mà bạn đang sử dụng không gây ảnh hưởng cho Joomla. Hãy thử tắt nó đi.

4. Do trình duyệt

Thử trên các máy khác nhau để kiểm tra xem có phải chỉ mình máy bạn là không vào được.

Xóa tất cả cache và cookie của trình duyệt. Sử dụng trình duyệt ở chế độ mặc định. Nên tải FireFox 2.0 và chọn cài mới để

thử.

5. Gõ sai mật khẩu

Hãy cố gắng nhớ lại mật khẩu mà bạn đã dùng. Liệu bạn có để bộ gõ tiếng Việt (hoặc một ngoại ngữ khác) trong khi gõ mật khẩu

6. Do gói ngôn ngữ cài đặt

Có thể gói ngôn ngữ của bạn không chuẩn. Bạn cần tải về gói ngôn ngữ mới nhất từ http://joomlaviet.org/

Bạn có thể xóa các gói ngôn ngữ và chỉ giữ lại gói ngôn ngữ tiếng Anh và thử đăng nhập lại.

7. Do cấu trúc database bị thay đổi

Page 31: Customize Joomla CMS

Một số bản Joomla, đặc biệt là Joomla 1.5 do đang ở giai đoạn beta nên đôi khi cấu trúc database bị thay đổi (thêm/bớt cột, thay đổi độ rộng...) do vậy cũng ảnh hưởng đến việc đăng nhập.

Giải pháp: Bạn chỉ có thể mò mẫm từng bước để xem bảng dữ liệu nào đã bị thay đổi và đưa vấn đề của mình lên http://forum.joomla.org và http://joomlaviet.org/forum

8. Do biến session.save_path

Sẽ chỉ cụ thể sau: http://joomlaportal.ru/content/view/156/53/

Một số giải pháp khác1. Mở database của bạn bằng phpMyAdmin hoặc một tool khác mà Hosting của bạn

cung cấp.2. Mở bảng jos_users3. Tìm bản ghi username=admin và thay password bằng giá trị sau

439581667ef694b60d58f213cccf9503

Đăng nhập lại hệ thống bằng tài khoản: username: admin, password: thietkejoomla

25. Lỗi mất định dạng trong phần "Description" của Docman

Lỗi mất định dạng trong phần "Description" của DOCman xảy ra khi cài đặt phiên bản Joomla 1.5.x và DOCman v1.4.0 RC3 - 2003-2008. Lỗi này khiến cho toàn bộ phần "Description" mất các định dạng HTML như: In đậm, in nghiêng, màu chữ, font chữ, căn chỉnh....

Cách khắc phục:

Tìm đến dòng ~215 của file administrator/components/com_docman/classes/docman_models.class.php và thêm dấu comment //

$this->objFormatData->dmdescription = mosHTML::cleanText($objDBDoc->dmdescription);

Hoặc thay dòng ~215 của file administrator/components/com_docman/classes/docman_models.class.php

mosHTML::cleanText($objDBDoc->dmdescription);

26. Lỗi mất ký tự tiếng Việt trong tiêu đề Joomla 1.5

Page 32: Customize Joomla CMS

 

Cách khắc phục

Bước 1: Tìm file [Joomla1.5]/libraries/joomla/filter/filteroutput.php Bước 2: Mở file này bằng trình soạn thảo Notepad++ (miễn phí, nhanh, gọn...). Bước 3: Save file bằng định dạng UTF-8 Without BOM: cho phép lưu các ký tự

UTF-8 và quan trọng là không có ký tự đánh dấu UTF8 ở đầu file. Xem hình để rõ hơn

Bước 4: Tìm đến ~ dòng 87 và chèn thêm 10 dòng mã sau (dòng 88-97):

Page 33: Customize Joomla CMS

10 dòng mã cần chèn:

// Hacked by thietkejoomla.COM$utf8characters = 'à|a, ả|a, ã|a, á|a, ạ|a, ă|a, ằ|a, ẳ|a, ẵ|a, ắ|a, ặ|a, â|a, ầ|a, ẩ|a, ẫ|a, ấ|a, ậ|a, đ|d, è|e, ẻ|e, ẽ|e, é|e, ẹ|e, ê|e, ề|e, ể|e, ễ|e, ế|e, ệ|e, ì|i, ỉ|i, ĩ|i, í|i, ị|i, ò|o, ỏ|o, õ|o, ó|o, ọ|o, ô|o, ồ|o, ổ|o, ỗ|o, ố|o, ộ|o, ơ|o, ờ|o, ở|o, ỡ|o, ớ|o, ợ|o, ù|u, ủ|u, ũ|u, ú|u, ụ|u, ư|u, ừ|u, ử|u, ữ|u, ứ|u, ự|u, ỳ|y, ỷ|y, ỹ|y, ý|y, ỵ|y, À|A, Ả|A, Ã|A, Á|A, Ạ|A, Ă|A, Ằ|A, Ẳ|A, Ẵ|A, Ắ|A, Ặ|A, Â|A, Ầ|A, Ẩ|A, Ẫ|A, Ấ|A, Ậ|A, Đ|D, È|E, Ẻ|E, Ẽ|E, É|E, Ẹ|E, Ê|E, Ề|E, Ể|E, Ễ|E, Ế|E, Ệ|E, Ì|I, Ỉ|I, Ĩ|I, Í|I, Ị|I, Ò|O, Ỏ|O, Õ|O, Ó|O, Ọ|O, Ô|O, Ồ|O, Ổ|O, Ỗ|O, Ố|O, Ộ|O, Ơ|O, Ờ|O, Ở|O, Ỡ|O, Ớ|O, Ợ|O, Ù|U, Ủ|U, Ũ|U, Ú|U, Ụ|U, Ư|U, Ừ|U, Ử|U, Ữ|U, Ứ|U, Ự|U, Ỳ|Y, Ỷ|Y, Ỹ|Y, Ý|Y, Ỵ|Y, "|, &|';$replacements = array();$items = explode(',', $utf8characters);foreach ($items as $item) {    @list($src, $dst) = explode('|', trim($item));    $replacements[trim($src)] = trim($dst);}$str = strtr($str, $replacements);// End Hack

Bước 5: Save file lần cuối và kiểm tra

27. Hack com Search: Bỏ chức năng sắp thứ tự

Để bỏ tính năng sắp thứ tự khi tìm kiếm (một tính năng ít được sử dụng và không cần thiết) của Joomla! bạn chỉ cần vài phút thực hiện theo hướng dẫn dưới đây:

Page 34: Customize Joomla CMS

Đối với Joomla 1.5.x

 

Tìm file "\components\com_search\views\search\tmpl\default_form.php" --> dòng ~23 và cho đoạn mã vào cặp thẻ chú thích

<!--    <tr>        <td colspan="3">            <label for="ordering">                <?php echo JText::_( 'Ordering' );?>:            </label>            <?php echo $this->lists['ordering'];?>        </td>    </tr>-->

 Đối với Joomla 1.0.x

 

Tìm file "\components\com_search\search.html.php" --> dòng ~59 và cho đoạn mã vào cặp thẻ chú thích

<!--    <tr>        <td colspan="3">            <label for="search_ordering">

Page 35: Customize Joomla CMS

                <?php echo _CMN_ORDERING;?>:            </label>            <?php echo $lists['ordering'];?>

        </td>    </tr> -->

28. Chống tấn công SQL Injection trong Joomla

Hiện Joomla! ngày càng phát triển mạnh mẽ và ngày càng được ứng dụng rộng rãi ở Việt Nam với số lượng các thành phần mở rộng (extensions) từ các hãng thứ ba cũng tăng không ngừng cả về số lượng và chất lượng. Rất nhiều thành phần mở rộng (gồm component, module, plugin, template...) thực sự tuyệt vời và đáng được cài đặt trên mọi Website.

Tuy nhiên, có một thực tế song hành với mặt ưu điểm trên là số lượng các Website bị tấn công thông qua các lỗi lập trình bất cẩn trong các thành phần mở rộng được cài đặt thêm cũng ngày càng tăng cao. Thậm chí số lượng lỗi bị khai thác còn cao hơn cả Microsoft (theo báo cáo 6 tháng đầu năm 2008 của IBM).

Do vậy, ngay từ lúc này, bạn hãy kiểm tra lại toàn bộ hệ thống của mình để đảm bảo: Chỉ cài đặt các thành phần mở rộng thực sự cần thiết, thực sự uy tín và hãy nhờ một người có kinh nghiệm để kiểm tra các đoạn mã, mà một trong số chúng thường bị hacker khai thác - các lỗi phổ biến về truy vấn SQL (thường gọi là SQL Injection).

Đối với người sử dụng cuối (end-user):

Không dùng tiền tố mặc định 'jos_'

Khi cài đặt website, Joomla sử dụng tiền tố mặc định cho các bảng của cơ sở dữ liệu: 'jos_'. Tuy nhiên để tránh sự nhòm ngó của các haker bạn nên đổi tiền tố này.

Page 36: Customize Joomla CMS

Không dùng tài khoản mặc định 'admin'

Tạo một tài khoản quản trị (Super Administrator) mới thay vì dùng tài khoản mặc định có tên 'admin'

Đổi tên và vô hiệu hóa tài khoản mặc định 'admin' mà Joomla đã tạo ra khi cài đặt bằng cách: Mở bảng _users, tìm bản ghi có id=62, đổi username khác 'admin' và thay block bằng '1')

Không dùng mã bí mật mặc định '$secret'

Joomla cung cấp một mã bí mật '$secret' đặt trong file "configuration.php". Mã này được kết hợp với mật khẩu và hàm MD5 để tạo ra một mật khẩu được mã hóa rất mạnh (không thể dò ngược) - tất nhiên với điều kiện mã $secret là ngẫu nhiên và chỉ mình bạn biết.

Mở file "configuration.php" tìm biến '$secret' và thay bằng một chuỗi ký tự ngẫu nhiên (không dùng chuỗi mặc định của Joomla). VD:

<?phpclass JConfig { //... var $secret = '2rsf820gaygwer33ty'; //...}?>

Page 37: Customize Joomla CMS

Đối với những người lập trình (developer) thì chú ý những vấn đề sau:

Ép kiểu dữ liệu

Luôn ép kiểu dữ liệu cho các chuỗi đưa vào câu lệnh truy vấn SQL. Thí dụ:

Nếu muốn kiểu dữ liệu là kiểu nguyên (integer) thì sử dụng câu lệnh SQL:

$sql = 'UPDATE #__mytable SET `id` = ' . (int) $int;

Nếu muốn kiểu dữ liệu là kiểu ngày/tháng (date) thì sử dụng câu lệnh SQL:

$date = &amp; JFactory::getDate($mydate);$sql = 'UPDATE #__mytable SET `date` = ' . $db->quote( $date->toMySQL(), false);

Luôn gỡ bỏ ý nghĩa của những ký tự đặc biệt

Bạn cần gỡ bỏ ý nghĩa của những ký tự đặc biệt (những ký tự có khả năng gây nguy hiểm cho câu lệnh SQL) nằm trong các chuỗi dữ liệu được đưa vào câu lệnh SQL bằng câu lệnh:

$sql = 'UPDATE #__mytable SET `string` = ' . $db->quote( $db->getEscaped( $string ), false );

Chống tấn công DOS

Trong các mệnh đề WHERE, nếu bạn có sử dụng lệnh LIKE, hãy đảm bảo rằng bạn đã lọc các ký tự đặc biệt như "%" và "_"  thì sử dụng câu lệnh SQL:

$sql = 'UPDATE #__mytable SET .... WHERE `string` LIKE '. $db->quote( $db->getEscaped( $string, true ), false )

Chống tấn công XSS

Rất nhiều người có thói quen lấy dữ liệu nhập vào từ người dùng bằng câu lệnh JRequest::getVar(). Tuy nhiên đây là một thói quen không tốt. Thay vào đó bạn nên sử dụng các phương thức ép kiểu. Thí dụ:

Nếu muốn kiểu số nguyên, dùng câu lệnh:

$int = JRequest::getInt( $name, $default );

Nếu muốn kiểu số thực, dùng câu lệnh:

Page 38: Customize Joomla CMS

$float = JRequest::getFloat( $name, $default );

Nếu muốn kiểu logic (đúng/sai), dùng câu lệnh:

$bool = JRequest::getBool( $name, $default );

Nếu muốn kiểu từ (word): chỉ có các ký tự chữ cái và ký tự gạch dưới "_", dùng câu lệnh:

$word = JRequest::getWord( $name, $default );

Nếu muốn kiểu câu lệnh (command): chỉ có các ký tự chữ cái, ký tự số, ký tự "."  và "_", dùng câu lệnh:

$cmd = JRequest::getCMD( $name, $default );

Nếu muốn kiểu văn bản không phải HTML (văn bản đã được lọc bỏ các thẻ HTML), dùng câu lệnh:

$string = JRequest::getString( $name, $default );

29. Chỉ hiển thị vùng {mainbody} hay {component} của một Website Joomla

Để hiển thị vùng {mainbody} hay vùng {component} của một Website Joomla 1.5 mà không có bất cứ một module nào và cũng không áp dụng định dạng do file CSS quy định bạn có thể sử dụng mẹo sau:

Thêm "?tmpl=component" hoặc "&tmpl=component" và phía cuối đường link của một trang bất kỳ mà bạn muốn hiện vùng {mainbody} / {component}.

Thí dụ: Nếu muốn hiển thị vùng {mainbody} / {component} của website community.joomla.org bạn chỉ cần thêm "?tmpl=component" vào phía cuối của đường link để có link dạng như sau:

http://community.joomla.org/?tmpl=component.

Page 39: Customize Joomla CMS

 

Vùng {mainbody} / {component} là vùng (P) trong hình trên, nơi sẽ nạp component của trang.

Trong trường hợp bạn lại không muốn mọi người xem được vùng {mainbody} /{component} của Website bạn có thể sử dụng đoạn mã sau, đặt vào file .htaccess.

Options +FollowSymLinksRewriteEngine OnRewriteCond %{QUERY_STRING} tmpl=RewriteRule ^(.*)$ http://thietkejoomla.com/index.php [F,L]

Chú ý: Thay http://thietkejoomla.com bằng địa chỉ Website của bạn. Và nếu muốn chuyển hướng về trang chủ thì thay [F,L] bằng [R,L] (F: Fobridden, R: Redirect, L: Last Rule)

30. Chèn một module bất kỳ vào bài viết

Trên các trang web Joomla, chúng ta thường cho hiển thị các module vào các position (vị trí) đã có sẵn. Chẳng hạn cho hiển thị module quảng cáo Google Adsense vài vị trí left (bên trái), cho hiển thị module tin liên quan vào vị trí right (bên phải), cho hiển thị module tin mới nhất vào vị trí user1, cho hiển thị banner quảng cáo tại vị trí top...

Và do đó nhiều người đã đặt câu hỏi đại loại như:

"Liệu Joomla có thể cho phép chèn module vào bài viết thay vì vào các vị trí đã có sẵn hay không?"

Page 40: Customize Joomla CMS

"Làm thế nào để chèn module quảng cáo Google Adsense, module quảng cáo Adbrite, module tin liên quan, module menu... vào bài viết?"

Câu trả lời là: "Joomla hoàn toàn có thể làm được, thậm chí rất nhanh và dễ dàng". Các thao tác thực hiện chỉ gồm các bước sau:

Bước 1: Thêm mới hoặc nhân bản một module mà bạn muốn chèn vào bài viết.

Mở menu Extensions -> Module Manager Thêm mới module bằng cách nhấn vào nút [New], chọn loại module. Nếu bạn muốn nhân bản một module đã có sẵn thì nhấn vào nút [Copy].

Bước 2: Mở module mới được tạo thêm hoặc vừa được nhân bản

Mở module mà bạn đã tạo ở bước trên Nếu bạn nhân bản một module đã có sẵn thì module mới sẽ có tên bắt đầu bằng

"Copy of..."

Bước 3: Gán cho module vị trí mới

Tại mục "Postion", thay vì chọn những vị trí đã có sẵn trong danh sách thả xuống chúng ta có thể gõ vào một vị trí mới, chẳng hạn "vi-tri-quang-cao-Adsense" (nên chọn một cái tên bất kỳ khác với những cái đã có trong danh sách)

Page 41: Customize Joomla CMS

Bước 4: Mở bài viết mà bạn muốn chèn module

Mở bài viết mà bạn muốn chèn module, và tại vị trí cần chèn, bạn gõ đoạn mã sau:

Thay "module" bằng tên vị trí mà bạn đã gán cho module cần chèn, chẳng hạn "vi-tri-quang-cao-Adsense" (không có dấu ")

Lưu ý:

Nếu không thấy module xuất hiện trong bài viết thì bạn cần kiểm tra xem plugin_loadmodule đã được bật chưa (vào menu Extensions -> Plugin Manager)

Để điều khiển định dạng của module được chèn mới trong bài viết, bạn có thể vào phần quản lý Plugin (menu Extensions -> Plugin Manager), chọn plugin có tên "Content - Load Module", trong phần tham số bên tay phải, tìm mục "Style" và chọn định dạng muốn xuất ra.

 

Đừng bao giờ sử dụng các vị trí đã có sẵn như "left", "right", "user1"... vì Joomla sẽ hiện tất cả các module mà trước đó đã được gán cho các vị trí này và chúng ta sẽ khó mà kiểm soát cách chúng hiển thị.

31. Cấm xem vị trí các module trên Template

Theo mặc định, các Website Joomla đều cho phép xem vị trí các module của Template theo dạng đường dẫn

http://domain/index.php?tp=1 hoặc http://domain/?tp=1

VD: http://joomla.org/?tp=1

Page 42: Customize Joomla CMS

Để cấm (vô hiệu hóa)  tính năng trên bạn chỉ cần thêm các dòng sau vào file ".htaccess" (được đặt ở thư mục chứa Joomla - cùng mức với file configuration.php)

Options +FollowSymLinksRewriteEngine OnRewriteCond %{QUERY_STRING} tp=RewriteRule ^(.*)$ http://thietkejoomla.com/index.php [F,L]

Dòng 1 & 2 nếu có rồi thì thôi.Thay http://thietkejoomla.com/index.php = link mà các bạn muốnF: Fobridden (Còn nếu nếu muốn chuyển hướng về trang chủ thì thay F = R: Redirect)L: Last rule

Đây cũng là cách để chặn lọc và chuyển hướng các chuỗi không mong muốn.

Hosting phải hỗ trợ file ".htaccess" và mod_rewrite phải được bật

32. Cài đặt Component trong Joomla 1.5

Bước 1. Mở trang quản trị

VD: http://thietkejoomla.com/administrator

Bước 2. Cài đặt Component mới

Mở menu "Extensions" > chọn "Install/Unistall" Trong mục "Upload Package File", nhấn nút [Browser] và chọn Component

(thường được đóng gói trong một file Zip) Nhấn nút [Upload File & Install] để cài đặt Joomla sẽ thông báo kết quả cài đặt

Video hướng dẫn

33. Cách xác định đường dẫn tuyệt đối {absolute_path}

Trong một số trường hợp cần xác định đường dẫn tuyệt đối tới một thư mục hoặc file nào đó. Chẳng hạn, phải xác định đường dẫn tuyệt đối tới thư mục chứa Joomla trên Website của bạn để điền vào thông số $mosConfig_absolute_path (Joomla 1.0.x) hoặc $absolute_path (Joomla 1.5.x) trong file "configuration.php", bạn có thể làm như sau:

Tạo một file "info.php" nằm cùng mức với file "configuration.php"  có nội dung như sau:

Page 43: Customize Joomla CMS

<?php $p = getcwd(); echo $p;?>

hoặc 

<?php $p = dirname(__FILE__); echo $p;?>

hoặc

<?php phpinfo();?>

Sau đó mở trình duyệt và gõ vào địa chỉ tới file này.

VD: http://yoursite/info.php, http://thietkejoomla.com/joomla/info.php

Trường hợp sử dụng hàm getcwd(), hoặc dirname(__FILE__) đường dẫn sẽ hiển thị trên màn hình. Còn nếu sử dụng hàm phpinfo() thì tìm thông số SCRIPT_FILENAME để biết đường dẫn tới file info.php nói trên.

Nếu:

SCRIPT_FILENAME = '/home/thietkejoomla/httpdocs/info.php'

thì

// Trong Joomla 1.0.x$mosConfig_absolute_path = '/home/thietkejoomla/httpdocs';$mosConfig_cachepath = '/home/thietkejoomla/httpdocs/cache'; // Trong Joomla 1.5.xvar $absolute_path = '/home/thietkejoomla/httpdocs'; var $log_path = '/home/thietkejoomla/httpdocs/logs';var $tmp_path = '/home/thietkejoomla/httpdocs/tmp';

34. Cách trình bày trang Homepage (Frontpage)

Homepage trong Joomla! được cài đặt và thể hiện thông qua một thành phần đặc biệt đó là com_frontpage. Do vậy trong Joomla! trang homepage còn được gọi là Front Page. Thông qua trang Front Page bạn có thể trình bày một số cách: dạng blog, dạng kết hợp blog + chia cột... Với những ai mới làm quen với Joomla, các tham số đi kèm trang Frontpage như: leading, intro, colums, links... có thể gây khó khăn. Tuy nhiên hi vọng với một vài bước đơn giản dưới đây bạn hoàn toàn có thể làm chủ Frontpage.

Page 44: Customize Joomla CMS

Bước 1: Đăng nhập vào trang quản trị (back-end).

VD: http://www.thietkejoomla.com/administrator

Bước 2: Vào phần quản lý menu

Theo mặc định, trang Homepage được đặt trong "Main Menu". Mở menu Menus --> Main Menu --> chọn "Home" và quan sát các tham số tùy chỉnh bên tay phải (mục "Parameters").

VD bạn thiết lập như hình bên, bạn sẽ có kết quả như dưới đây:

 

Lưu ý:

Để quản lý các bài viết của trang FrontPage bạn mở menu "Content" --> "Front Page Manager"

Page 45: Customize Joomla CMS

Để có trang Homepage giống như VnExpress (các bài viết được trình bày lần lượt theo các chủ đề) bạn cần tìm và cài đặt một component chẳng hạn như: D4Ezine, iJoomla...

35. Cách chèn JavaScript hoặc các đoạn mã HTML đặc biệt

Joomla cung cấp một trình soạn thảo WYSIWYG mặc định TinyMCE. Đây là trình soạn thảo chuẩn và phổ biến. Cũng theo mặc định để đảm bảo an toàn cho Website, tất cả các đoạn mã Javascript và các đoạn mã HTML nhạy cảm đều bị TinyMCE lọc bỏ. Do vậy để chèn các đoạn mã JavaScript vào bài viết hoặc vào module... bạn cần tắt bỏ tính năng này.

 

Cách thực hiện như sau:

Đối với Joomla 1.5

Vào menu Extensions >> Plugin Manager >> Editor - TinyMCE 2.0. Quan sát các tham số (Parameters) bên tay phải. Có 2 tham số liên quan:

Code Cleanup on Startup: Chọn "Off" để tắt mỗi khi trình soạn thảo được nạp Code Cleanup on Save: Chọn "Front Only" để chỉ tắt phía Front-End, chọn

"Never" để tắt hẳn. Thao tác này chỉ có tác dụng khi lưu bài viết hoặc module.

Page 46: Customize Joomla CMS

Đối với Joomla 1.0

Vào menu Mambots >> Site Mambots >> TinyMCE WYSIWYG Editor. Quan sát các tham số (Parameters) bên tay phải. Chú ý tham số

Code Cleanup: Chọn "Off" để tắt

Chèn Javascript vào bài viết hoặc module.

Mở bài viết hoặc module Nhấn vào nút HTML để soạn thảo mã HTML Dán đoạn mã HTML hoặc Javascript vào chỗ mà bạn muốn

36. Bỏ dòng "Tác giả" / "Ngày đăng" khỏi các bài viết

Bước 1: Đăng nhập vào trang quản trị (back-end)

VD: http://thietkejoomla.com/administrator

Bước 2: Thiết lập

Mở menu Content - Article Manager.

Page 47: Customize Joomla CMS

 

Nhấn vào nút "Preferences" ở góc trên bên phải.

 

Trong hộp thoại xuất hiện tìm đến mục "Author Name" (tên tác giả), "Created Date and Time" (ngày giờ tạo bài viết), "Modified Date and Time" (ngày giờ chỉnh sửa bài viết) và chọn "Hide" để ẩn, ngược lại chọn "Show".

 

37. Bỏ dòng chữ "Welcome to the Frontpage"

Page 48: Customize Joomla CMS

Bỏ dòng chữ "Welcome to the Frontpage" trong Joomla 1.5

Đăng nhập vào trang quản trị (back-end)

VD: http://thietkejoomla.com/administrator

Mở menu chứa Front Page

Mở menu Menus --> Main Menu --> chọn mục Parameters - System bên tay phải.

Tìm dòng "Show Page Title" chọn "No"

 

Bỏ dòng chữ "Welcome to the Frontpage" trong Joomla 1.0.x

Đăng nhập vào trang quản trị (back-end)

VD: http://thietkejoomla.com/administrator

Mở menu chứa Front Page

Mở menu Menus --> Main Menu --> chọn mục Parameters bên tay phải.

Tìm dòng "Page Title" chọn "Hide"

Page 49: Customize Joomla CMS

 < Lùi   Tiếp theo >

38. Backup dữ liệu bằng SQL Dumper

SQL Dumper là một giải pháp đơn giản cho việc sao lưu (backup) dữ liệu Joomla. Nó thực sự dễ làm kể cả với những ai mới làm quen với Joomla. Ngoài tính bảo mật cao nó còn có thể sao lưu và khôi phục các database lớn. Công cụ này được Sypex giới thiệu, phân phối theo giấy phép GNU/GPL và được tích hợp vào Joomla bởi Ivo Apostolov.

Cài đặt

Thông tin về SQL Dumper: http://extensions.joomla.org

Download SQL Dumper: http://joomlacode.org

Mở trang quản trị Joomla: http://site_cua_ban/administrator

VD: http://vinaora.com/administrator

Chọn mục "Installers" --> "Components" --> nhấn nút "Browers" --> chọn file "com_sql.zip" --> nhấn nút "Upload and Install"

Mở công cụ

Truy nhập bằng đường dẫn: http://site_cua_ban/dumper.php

VD: http://vinaora.com/dumper.php

Hoặc đăng nhập vào trang quản trị --> chọn mục "Components" --> chọn mục "SQL Dumper"

Page 50: Customize Joomla CMS

 

Sao lưu dữ liệu

Mở công cụ SQL Dumper Nhập username và password Chọn "Backup of existing database" --> chọn database --> chọn "Compression

= GZIP" để nén --> chọn mức nén "Compression Level" (9 - mức cao nhất). Nhấn "Go" để xuất dữ liệu

Lưu ý: Các file dữ liệu được lưu trong:

Joomla\administrator\backups

Nếu muốn backup một số bảng nhất định chứ không backup toàn bộ database --> gõ tên bảng vào mục "Filter"

Khôi phục dữ liệu

Page 51: Customize Joomla CMS

Mở SQL Dumper Nhập username và password Chọn "Restore existing backup" --> chọn database trong "Restore in Database"

--> chọn file dữ liệu đã sao lưu trong "Dump File" Nhấn "Go" để khôi phục dữ liệu

Ấn định ngày xuất bản một bài viết trong Joomla

Bước 1: Mở trang quản trị Joomla! (back-end)

VD: http://www.thietkejoomla.com/administrator

Bước 2: Ấn định ngày xuất bản, hủy xuất bản một bài viết

Nhấn vào nút [Content Items Manager] để vào trang quản lý các bài viết Nhấn vào link của bài viết muốn chỉnh sửa, chẳng hạn bài "Welcome to Joomla!". Để ấn định ngày sẽ xuất bản chính thức bài viết trên Website, trong phần tham số

bên tay phải tìm mục "Start Publishing" --> chọn ngày mà bạn muốn. Để ấn định ngày sẽ hủy xuất bản (ẩn) bài viết, trong phần tham số bên tay phải

của bài viết tìm mục "Finish Publishing" --> chọn ngày mà bạn muốn. Nhấn nút [Save] trên thanh công cụ để lưu lại.

Video Demo: