Th3
27
2013

Thiết kế website chuyên nghiệp với joomla

1.Cấu hình Joomla để gửi/nhận mail với GMail

02.gmail.joomla.pngViệc cấu hình Joomla để cho phép gửi/nhận mail (email) thông qua tài khoản GMail hay một tài khoản mail của một hãng bất kỳ có sử dụng giao thức bảo mật SSL/TLS đã được cộng đồng Joomla đề cập và bàn tán nhiều, nhưng phải cho đến phiên bản Joomla 1.5.12 được phát hành ngày hôm qua (01/7/2009), tính năng này mới chính thức có mặt trong mục cấu hình Global Configuration. Và đây thực sự là tin vui đối với các webmaster, vì hiện có khá nhiều người đang phải sử dụng host free hay những host không hỗ trợ gửi/nhận mail.

02.mail.gmail.pngThao tác cấu hình khá đơn giản.

Đầu tiên các bạn mở trang quản trị, mở mục "Global Configuration" và chọn tab "Server", sau đó tìm phần "Mail Settings" và cấu hình như sau:

  • Mailer: SMTP Server
  • Mail From: Địa chỉ thư của bạn
  • From Name: Tiêu đề thư
  • SMTP Authentication: Yes
  • SMTP Security: SSL
  • SMTP Port: 465
  • SMTP Use ame: Your Gmail use ame
  • SMTP Password: Your Gmail password
  • SMTP Host: smtp.gmail.com

Chúc các bạn thành công.

Trong trường hợp bạn vừa nâng cấp lên Joomla 1.5.12, có thể phần "Mail Settings" không xuất hiện đúng như trên thì bạn chỉ cần chỉnh sửa một thông số bất kỳ nào đó, sau đó nhấn nút [Save] để Joomla! nhận các thông số mới.

2.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://vinaora.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:

Joomla Frontpage

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ư: D4EzineiJoomla

Một vài câu hỏi liên quan:

  • Điều chỉnh trang Frontpage như thế nào?
  • Edit trang Frontpage ở đâu?
  • Chỉnh cột ở frontpage?
  • Chuyển blog content từ 2 sang 1?
  • Bố cục Front page (intro, read more)

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

Keyword: bài viết, chuyên mục, content, section, category 

4. Khắc phục lỗi không thể upload ảnh

Trình quản lý ảnh "Media Manager" của Joomla có một chức năng rất hay: Cho phép upload nhiều ảnh cùng lúc và hiển thị mức độ % hoàn thành công việc. Tuy nhiên trong trường hợp nếu như bạn cài đặt phiên bản Flash Player 10 thì chức năng trên sẽ bị vô hiệu hóa, không có bất cứ một cửa sổ nào xuất hiện khi bạn nhấn vào nút [Browse Files].

Trình upload ảnh của Joomla


Hình 01: Trình upload ảnh mặc định của Joomla không hoạt động khi cài Flash 10
Hình 02: Sử dụng trình upload ảnh đơn giản (upload từng file một)

Lỗi này cũng ảnh hưởng tới tất cả các trình upload ảnh/video/flash có sử dụng công nghệ Flash chứ không riêng gì Joomla.

Để khắc phục lỗi trên có 2 cách:

  • Không cài đặt Flash 10
  • Hoặc vào Site > Global Configuration > Media Settings >  mục "Enable Flash Uploader" chọn No

Media Settings

Tắt bỏ trình upload ảnh dựa trên Flash của Joomla

Tham khảo thêm:

 

5. Lỗi "session.save_path"

Biến session.save_path được dùng để làm gì?

Trên các Webserver chạy PHP, thông tin về phiên làm việc hiện tại của người sử dụng thường được lưu vào các file khác nhau và đặt vào một thư mục nào đó. Chẳng hạn:

  • thư mục "C:\wamp\tmp", "D:\xampp\tmp"… (đối với hệ thống Windows)
  • thư mục "/tmp", "/usr/var/tmp", "/var/lib/php/session"… (đối với hệ thống Linux)

Thư mục mà Webserver dùng để lưu các phiên làm việc này được khai báo thông qua biến "session.save_path" và nằm trong file "php.ini" giống như dưới đây:

[Session] ; Handler used to store/retrieve data. session.save_handler = files ; Path to store data session.save_path = "c:/wamp/tmp" ; Whether to use cookies. session.use_cookies = 1 ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 …

Những lỗi có thể xảy ra với biến "session.save_path"

Do biến "session.save_path" được khai báo trong file "php.ini" nên khi cài đặt cũng như khi sử dụng Joomla! có 2 khả năng lỗi có thể xảy ra:

  • Biến "session.save_path" chưa được thiết lập, nghĩa là có giá trị là "None" hoặc "Not Set"
  • Biến "session.save_path" đã được thiết lập là đường dẫn tới một thư mục nào đó, nhưng bạn lại không có quyền ghi đối với thư mục này – "Unwriteable"

Lỗi session.save_path

Cách xử lý lỗi

Bước 1: Xác định giá trị hiện tại của biến "session.save_path"

Tạo một file "session.php" có nội dung như sau:

<?php     echo (($sp=ini_get('session.save_path')) ?$sp:( 'none' ) ); ?>

Sau đó mở link tới file này. VD: http://vinaora.com/joomla/session.php. Thông tin hiển thị trên màn hình chính là đường dẫn tới thư mục chứa session của Webserver.

Bước 2: Thiết lập lại giá trị biến "session.save_path"

Đầu tiên tạo một thư mục (hoặc chọn một thư mục) mà bạn có quyền ghi lên nó. Thiết lập Writeable (nếu là Host Windows) hoặc CHMOD 777 (nếu là Host Linux) cho thư mục này.

Tạo một file ".htaccess" ở thư mục gốc chứa Joomla của bạn với nội dung sau:

php_value session.save_path "/duong/dan/sesion/moi"

Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file ".htaccess". Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn.

Hoặc tạo một file "php.ini" ở thư mục gốc chứa Joomla của bạn với nội dung sau:

session.save_path = "/duong/dan/session/moi"

Nếu bạn đang làm trên LOCALHOST thì chỉ cần mở file php.ini và chỉnh sửa trực tiếp, sau đó khởi động lại Webserver.  
Bạn cũng cần lưu ý: Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file "php.ini". Hoặc bạn phải copy file này tới mọi thư mục. Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn. 

Hoặc mở file "configuration.php" và thêm vào đầu file đoạn mã sau:

<?php      ini_set('session.save_path','/duong/dan/session/moi'); ?>

 Lưu ý chung:

Thay "/duong/dan/session/moi" bằng đường dẫn phù hợp với Host của bạn, chẳng hạn "D:\www\vinaora.com\tmp"; "/home/vinaora/public_html/tmp", "/var/www/vinaora.com/public_html/tmp"…

Keyword:

  • session, save, path, session.save_path, php, php.ini, htaccess, hosting, localhost, webserver
  • lỗi, biến, biến session, thiết lập, đường dẫn

Câu hỏi liên quan:

  • Bị lỗi với biến "session.save_path"?
  • Xử lý lỗi "Session save path" như thế nào?

6. Lỗi thiếu bộ nhớ "Allowed memory size of 8388608…"

Quá trình cài đặt hoặc cấu hình một thành phần mở rộng của Joomla như: component, module, mambot/plugin, template… không phải lúc nào cũng suôn sẻ. Đôi khi do thành phần mở rộng – extension gồm quá nhiều file + dung lượng lớn + hoặc thao tác cần nhiều bộ nhớ sẽ gây ra lỗi thiếu bộ nhớ và xuất hiện màn hình thông báo lỗi như sau:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 19456 bytes) in …

Để khắc phục lỗi này chúng ta cần tăng giá trị giới hạn bộ nhớ PHP.

Giá trị giới hạn bộ nhớ của PHP mặc định là 8M = 8388608 bytes, do đó có thể thay đổi giá trị này bằng 32M chẳng hạn (bạn hoàn toàn có thể thiết lập nhiều hơn tùy theo dung lượng RAM hiện có của server)

Cách 1: Dùng file ".htaccess"

  • Tạo file ".htaccess" ở thư mục gốc chứa Joomla của bạn với nội dung sau:

php_value memory_limit 32M

Lưu ý: Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file ".htaccess". Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn.

Cách 2: Dùng file "php.ini"

  • Tạo file "php.ini" với nội dung sau và đặt vào thư mục chứa Joomla

memory_limit = 32M

Nếu bạn đang làm trên LOCALHOST thì chỉ cần mở file php.ini và chỉnh sửa trực tiếp, sau đó khởi động lại Webserver. 

Lưu ý: Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file "php.ini". Hoặc bạn phải copy file này tới mọi thư mục. Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn. 

Cách 3: Dùng file "configuration.php"

  • Thêm đoạn sau vào đầu file "configuration.php":

<?php     ini_set("memory_limit","32M"); ?>

Trong tình huống cài đặt thành phần mở rộng (extension)

Nếu lỗi này xảy ra khi cài đặt thành phần mở rộng bạn có thể làm như sau:

  • Giải nén gói thành phần mở rộng mà bạn cần cài đặt
  • Upload lên một thư mục nào đó trên Server.
  • Khi cài đặt, chọn cài đặt từ một thư mục chứa thành phần mở rộng (tùy chọn 2)
  • Nhấn nút cài đặt
 

Keyword:

  • 8388608, memory, memory_limit, size, fatal, error, bytes
  • lỗi, bộ nhớ, giới hạn

Câu hỏi liên quan:

  • Bị lỗi bộ nhớ
  • Lỗi 8388608 là gì?
  • Xử lý lỗi bộ nhớ "8388608" như thế nào?

7. 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ênhttp://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 use ame=admin và thay password bằng giá trị sau

439581667ef694b60d58f213cccf9503

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

Tham khảo:

  • http://www.joomlaviet.org/forum/index.php?topic=955.0
  • http://www.joomlaviet.org/forum/index.php?topic=1039.0
  • http://forum.joomla.org/index.php/topic,7452.0.html

8. 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 đậmin 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);

Keyword:

  • docman, joomla, description, HTML, 1.4.0 RC3, 1.5
  • định dạng, mất định dạng

Câu hỏi liên quan:

  • Lỗi phần "Description" trong DOCMan?
  • Trình soạn thảo (Editor) trong DOCMan không hoạt động

9. 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 = di ame(__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://vinaora.com/joomla/info.php

Trường hợp sử dụng hàm getcwd(), hoặc di ame(__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/vinaora/httpdocs/info.php'

thì

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

 

10. 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 trên template Joomla


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://vinaora.com/index.php [F,L]

Chú ý: Thay http://vinaora.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)

 

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

 Bỏ tính năng sắp thứ tự của module search

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

Bỏ tính năng sắp thứ tự của module search

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

12. 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://vinaora.com/index.php [F,L]

Dòng 1 & 2 nếu có rồi thì thôi.
Thay http://vinaora.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

 

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

lỗi mất các ký tự tiếng Việt trong tiêu đề

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

lỗi mất các ký tự tiếng Việt trong tiêu đề

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

lỗi mất các ký tự tiếng Việt trong tiêu đề

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

// Hacked by VINAORA.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 = trim(strtr($str, $replacements)); // End Hack

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

 

14. 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: VINAORA – 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 – VINAORA)
  • 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

15. Tạo đường dẫn tắt tới trang quản trị

Thông thường để truy cập vào trang quản trị của Joomla! chúng ta sử dụng đường dẫn: http://your-domain/administrator

VD: http://vinaora.com/administrator

Để không phải gõ một cụm dài "administrator" phía sau domain, ta có thể tạo một đường dẫn tắt chẳng hạn

http://vinaora.com/123 -> và được chuyển hướng tới –> http://vinaora.com/administrator

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

Tạo file .htaccess nằm ở thư mục gốc chứa Joomla! (hoặc thêm vào phía cuối file này nếu đã có) nội dung sau:

Redirect /123 http://your-domain/administrator

Chú ý:

Nếu Website của bạn có dạng http://you-domain/joomla (VD: http://vinaora.com/joomla) thì bạn cần gõ nội dung sau:

Redirect /joomla/123 http://your-domain/administrator

Cảnh báo:

Chỉ áp dụng cho Website chạy trên Apache và có hỗ trợ file .htaccess

16. 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://vinaora.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"

Frontpage Parameters

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://vinaora.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"

Frontpage Parameters

1.Cấu hình Joomla để gửi/nhận mail với GMail

02.gmail.joomla.pngViệc cấu hình Joomla để cho phép gửi/nhận mail (email) thông qua tài khoản GMail hay một tài khoản mail của một hãng bất kỳ có sử dụng giao thức bảo mật SSL/TLS đã được cộng đồng Joomla đề cập và bàn tán nhiều, nhưng phải cho đến phiên bản Joomla 1.5.12 được phát hành ngày hôm qua (01/7/2009), tính năng này mới chính thức có mặt trong mục cấu hình Global Configuration. Và đây thực sự là tin vui đối với các webmaster, vì hiện có khá nhiều người đang phải sử dụng host free hay những host không hỗ trợ gửi/nhận mail.

02.mail.gmail.pngThao tác cấu hình khá đơn giản.

Đầu tiên các bạn mở trang quản trị, mở mục "Global Configuration" và chọn tab "Server", sau đó tìm phần "Mail Settings" và cấu hình như sau:

  • Mailer: SMTP Server
  • Mail From: Địa chỉ thư của bạn
  • From Name: Tiêu đề thư
  • SMTP Authentication: Yes
  • SMTP Security: SSL
  • SMTP Port: 465
  • SMTP Use ame: Your Gmail use ame
  • SMTP Password: Your Gmail password
  • SMTP Host: smtp.gmail.com

Chúc các bạn thành công.

Trong trường hợp bạn vừa nâng cấp lên Joomla 1.5.12, có thể phần "Mail Settings" không xuất hiện đúng như trên thì bạn chỉ cần chỉnh sửa một thông số bất kỳ nào đó, sau đó nhấn nút [Save] để Joomla! nhận các thông số mới.

2.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://vinaora.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:

Joomla Frontpage

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ư: D4EzineiJoomla

Một vài câu hỏi liên quan:

  • Điều chỉnh trang Frontpage như thế nào?
  • Edit trang Frontpage ở đâu?
  • Chỉnh cột ở frontpage?
  • Chuyển blog content từ 2 sang 1?
  • Bố cục Front page (intro, read more)

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

Keyword: bài viết, chuyên mục, content, section, category 

4. Khắc phục lỗi không thể upload ảnh

Trình quản lý ảnh "Media Manager" của Joomla có một chức năng rất hay: Cho phép upload nhiều ảnh cùng lúc và hiển thị mức độ % hoàn thành công việc. Tuy nhiên trong trường hợp nếu như bạn cài đặt phiên bản Flash Player 10 thì chức năng trên sẽ bị vô hiệu hóa, không có bất cứ một cửa sổ nào xuất hiện khi bạn nhấn vào nút [Browse Files].

Trình upload ảnh của Joomla


Hình 01: Trình upload ảnh mặc định của Joomla không hoạt động khi cài Flash 10
Hình 02: Sử dụng trình upload ảnh đơn giản (upload từng file một)

Lỗi này cũng ảnh hưởng tới tất cả các trình upload ảnh/video/flash có sử dụng công nghệ Flash chứ không riêng gì Joomla.

Để khắc phục lỗi trên có 2 cách:

  • Không cài đặt Flash 10
  • Hoặc vào Site > Global Configuration > Media Settings >  mục "Enable Flash Uploader" chọn No

Media Settings

Tắt bỏ trình upload ảnh dựa trên Flash của Joomla

Tham khảo thêm:

 

5. Lỗi "session.save_path"

Biến session.save_path được dùng để làm gì?

Trên các Webserver chạy PHP, thông tin về phiên làm việc hiện tại của người sử dụng thường được lưu vào các file khác nhau và đặt vào một thư mục nào đó. Chẳng hạn:

  • thư mục "C:\wamp\tmp", "D:\xampp\tmp"… (đối với hệ thống Windows)
  • thư mục "/tmp", "/usr/var/tmp", "/var/lib/php/session"… (đối với hệ thống Linux)

Thư mục mà Webserver dùng để lưu các phiên làm việc này được khai báo thông qua biến "session.save_path" và nằm trong file "php.ini" giống như dưới đây:

[Session] ; Handler used to store/retrieve data. session.save_handler = files ; Path to store data session.save_path = "c:/wamp/tmp" ; Whether to use cookies. session.use_cookies = 1 ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 …

Những lỗi có thể xảy ra với biến "session.save_path"

Do biến "session.save_path" được khai báo trong file "php.ini" nên khi cài đặt cũng như khi sử dụng Joomla! có 2 khả năng lỗi có thể xảy ra:

  • Biến "session.save_path" chưa được thiết lập, nghĩa là có giá trị là "None" hoặc "Not Set"
  • Biến "session.save_path" đã được thiết lập là đường dẫn tới một thư mục nào đó, nhưng bạn lại không có quyền ghi đối với thư mục này – "Unwriteable"

Lỗi session.save_path

Cách xử lý lỗi

Bước 1: Xác định giá trị hiện tại của biến "session.save_path"

Tạo một file "session.php" có nội dung như sau:

<?php     echo (($sp=ini_get('session.save_path')) ?$sp:( 'none' ) ); ?>

Sau đó mở link tới file này. VD: http://vinaora.com/joomla/session.php. Thông tin hiển thị trên màn hình chính là đường dẫn tới thư mục chứa session của Webserver.

Bước 2: Thiết lập lại giá trị biến "session.save_path"

Đầu tiên tạo một thư mục (hoặc chọn một thư mục) mà bạn có quyền ghi lên nó. Thiết lập Writeable (nếu là Host Windows) hoặc CHMOD 777 (nếu là Host Linux) cho thư mục này.

Tạo một file ".htaccess" ở thư mục gốc chứa Joomla của bạn với nội dung sau:

php_value session.save_path "/duong/dan/sesion/moi"

Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file ".htaccess". Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn.

Hoặc tạo một file "php.ini" ở thư mục gốc chứa Joomla của bạn với nội dung sau:

session.save_path = "/duong/dan/session/moi"

Nếu bạn đang làm trên LOCALHOST thì chỉ cần mở file php.ini và chỉnh sửa trực tiếp, sau đó khởi động lại Webserver.  
Bạn cũng cần lưu ý: Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file "php.ini". Hoặc bạn phải copy file này tới mọi thư mục. Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn. 

Hoặc mở file "configuration.php" và thêm vào đầu file đoạn mã sau:

<?php      ini_set('session.save_path','/duong/dan/session/moi'); ?>

 Lưu ý chung:

Thay "/duong/dan/session/moi" bằng đường dẫn phù hợp với Host của bạn, chẳng hạn "D:\www\vinaora.com\tmp"; "/home/vinaora/public_html/tmp", "/var/www/vinaora.com/public_html/tmp"…

Keyword:

  • session, save, path, session.save_path, php, php.ini, htaccess, hosting, localhost, webserver
  • lỗi, biến, biến session, thiết lập, đường dẫn

Câu hỏi liên quan:

  • Bị lỗi với biến "session.save_path"?
  • Xử lý lỗi "Session save path" như thế nào?

6. Lỗi thiếu bộ nhớ "Allowed memory size of 8388608…"

Quá trình cài đặt hoặc cấu hình một thành phần mở rộng của Joomla như: component, module, mambot/plugin, template… không phải lúc nào cũng suôn sẻ. Đôi khi do thành phần mở rộng – extension gồm quá nhiều file + dung lượng lớn + hoặc thao tác cần nhiều bộ nhớ sẽ gây ra lỗi thiếu bộ nhớ và xuất hiện màn hình thông báo lỗi như sau:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 19456 bytes) in …

Để khắc phục lỗi này chúng ta cần tăng giá trị giới hạn bộ nhớ PHP.

Giá trị giới hạn bộ nhớ của PHP mặc định là 8M = 8388608 bytes, do đó có thể thay đổi giá trị này bằng 32M chẳng hạn (bạn hoàn toàn có thể thiết lập nhiều hơn tùy theo dung lượng RAM hiện có của server)

Cách 1: Dùng file ".htaccess"

  • Tạo file ".htaccess" ở thư mục gốc chứa Joomla của bạn với nội dung sau:

php_value memory_limit 32M

Lưu ý: Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file ".htaccess". Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn.

Cách 2: Dùng file "php.ini"

  • Tạo file "php.ini" với nội dung sau và đặt vào thư mục chứa Joomla

memory_limit = 32M

Nếu bạn đang làm trên LOCALHOST thì chỉ cần mở file php.ini và chỉnh sửa trực tiếp, sau đó khởi động lại Webserver. 

Lưu ý: Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file "php.ini". Hoặc bạn phải copy file này tới mọi thư mục. Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn. 

Cách 3: Dùng file "configuration.php"

  • Thêm đoạn sau vào đầu file "configuration.php":

<?php     ini_set("memory_limit","32M"); ?>

Trong tình huống cài đặt thành phần mở rộng (extension)

Nếu lỗi này xảy ra khi cài đặt thành phần mở rộng bạn có thể làm như sau:

  • Giải nén gói thành phần mở rộng mà bạn cần cài đặt
  • Upload lên một thư mục nào đó trên Server.
  • Khi cài đặt, chọn cài đặt từ một thư mục chứa thành phần mở rộng (tùy chọn 2)
  • Nhấn nút cài đặt
 

Keyword:

  • 8388608, memory, memory_limit, size, fatal, error, bytes
  • lỗi, bộ nhớ, giới hạn

Câu hỏi liên quan:

  • Bị lỗi bộ nhớ
  • Lỗi 8388608 là gì?
  • Xử lý lỗi bộ nhớ "8388608" như thế nào?

7. 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ênhttp://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 use ame=admin và thay password bằng giá trị sau

439581667ef694b60d58f213cccf9503

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

Tham khảo:

  • http://www.joomlaviet.org/forum/index.php?topic=955.0
  • http://www.joomlaviet.org/forum/index.php?topic=1039.0
  • http://forum.joomla.org/index.php/topic,7452.0.html

8. 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 đậmin 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);

Keyword:

  • docman, joomla, description, HTML, 1.4.0 RC3, 1.5
  • định dạng, mất định dạng

Câu hỏi liên quan:

  • Lỗi phần "Description" trong DOCMan?
  • Trình soạn thảo (Editor) trong DOCMan không hoạt động

9. 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 = di ame(__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://vinaora.com/joomla/info.php

Trường hợp sử dụng hàm getcwd(), hoặc di ame(__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/vinaora/httpdocs/info.php'

thì

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

 

10. 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 trên template Joomla


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://vinaora.com/index.php [F,L]

Chú ý: Thay http://vinaora.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)

 

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

 Bỏ tính năng sắp thứ tự của module search

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

Bỏ tính năng sắp thứ tự của module search

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

12. 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://vinaora.com/index.php [F,L]

Dòng 1 & 2 nếu có rồi thì thôi.
Thay http://vinaora.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

 

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

lỗi mất các ký tự tiếng Việt trong tiêu đề

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

lỗi mất các ký tự tiếng Việt trong tiêu đề

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

lỗi mất các ký tự tiếng Việt trong tiêu đề

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

// Hacked by VINAORA.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 = trim(strtr($str, $replacements)); // End Hack

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

 

14. 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: VINAORA – 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 – VINAORA)
  • 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

15. Tạo đường dẫn tắt tới trang quản trị

Thông thường để truy cập vào trang quản trị của Joomla! chúng ta sử dụng đường dẫn: http://your-domain/administrator

VD: http://vinaora.com/administrator

Để không phải gõ một cụm dài "administrator" phía sau domain, ta có thể tạo một đường dẫn tắt chẳng hạn

http://vinaora.com/123 -> và được chuyển hướng tới –> http://vinaora.com/administrator

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

Tạo file .htaccess nằm ở thư mục gốc chứa Joomla! (hoặc thêm vào phía cuối file này nếu đã có) nội dung sau:

Redirect /123 http://your-domain/administrator

Chú ý:

Nếu Website của bạn có dạng http://you-domain/joomla (VD: http://vinaora.com/joomla) thì bạn cần gõ nội dung sau:

Redirect /joomla/123 http://your-domain/administrator

Cảnh báo:

Chỉ áp dụng cho Website chạy trên Apache và có hỗ trợ file .htaccess

16. 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://vinaora.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"

Frontpage Parameters

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://vinaora.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"

Frontpage Parameters

 

Đăng ký nhận bài viết mới qua email.

Tác giả:

Thiết kế website chuyên nghiệp với joomla Thiết kế website chuyên nghiệp với joomla
8 10 11163

Leave a comment