You are on page 1of 51

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ủ
// 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
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
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:
Để 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
4. Tìm hiểu về đường dẫn URL và Itemid
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í
Tên Component option=com_content content option=com_contac
task=emailform cho
Tác vụ thực hiện task=view view
do_pdf tạo
Bắt đầ
mã (id) của bài viết id=12 12
Bài viết "Joomla 1.0.1
Bắt đầu từ 1.
mã (id) của mục menu dẫn đến bài
Itemid=26 26
viết Các bài viết trên trang chủ gắn
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).
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-End


Section 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
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
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-End


Category 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...)
• 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'];
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
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ị
• 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)


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ó)
• 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
• 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.

|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
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


• 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:


Global Configuration - Site

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

Global Configuration - System:


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


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
User Manager

Media Manager: Một trong những thay đổi quan trọng của Joomla 1.5 là Media
Manager.
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.
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
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]

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
• ...

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?
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
• 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ác


1. 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_users
3. 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

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):
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:
Đố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">
<?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.
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:

<?php
class JConfig {
//...
var $secret = '2rsf820gaygwer33ty';
//...
}
?>
Đố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:


$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.
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 +FollowSymLinks
RewriteEngine On
RewriteCond %{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?"
• "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)
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
Để 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 +FollowSymLinks
RewriteEngine On
RewriteCond %{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ốn
F: 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:
<?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.x


var $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.
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"
Để 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.
Đố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.
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"


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"


< 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"
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
• 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:

You might also like