Sữa lỗi title Alias không hiển thị tiếng việt không dấu trong Joomla

5/5 - (1 bình chọn)

Nếu bạn đang sử dụng Joomla để xây dựng Website và gặp phải vấn đề với đường link của tiêu đề bài viết không thể hiển thị tiếng Việt không dấu – nó lại bị bỏ đi một vài ký tự, hãy tham khảo bài học dưới đây. Trong bài viết này, tôi sẽ hướng dẫn các bạn cách giải quyết vấn đề trên.

Bạn có thể thay đổi đường dẫn thế nào?

Phiên bản Joomla! 2.5 mặc dù đã có chức năng Unicode Aliases, cho phép hiển thị tiếng Việt có dấu trong Title Alias nhưng vẫn chưa hỗ trợ tiếng Việt không dấu. Sau đây là cách sửa lỗi tiếng Việt trong Title Alias của Joomla! 2.5

Sữa lỗi title alias không hiển thị tiếng việt

Hướng dẫn sữa lỗi title alias không hiển thị tiếng việt trong Joomla

Đầu tiên, các bạn cần tìm File Output.php theo đường dẫn sau: /libraries/joomla/filter/output.php

Tiếp đến, tìm đoạn code như sau:

public static function stringURLSafe($string)
 {
 // remove any '-' from the string since they will be used as concatenaters
 $str = str_replace('-', ' ', $string);

$lang = JFactory::getLanguage();
 $str = $lang->transliterate($str);

// Trim white spaces at beginning and end of alias and make lowercase
 $str = trim(JString::strtolower($str));

// Remove any duplicate whitespace, and ensure all characters are alphanumeric
 $str = preg_replace('/(\s|[^A-Za-z0-9\-])+/', '-', $str);

// Trim dashes at beginning and end of alias
 $str = trim($str, '-');

return $str;
 }

Thay toàn bộ đoạn mà trên bằng đoạn code dưới đây

public static function stringURLSafe($string)

 {

 $trans = array(

 "đ"=>"d","ă"=>"a","â"=>"a","á"=>"a","à"=>"a",

 "ả"=>"a","ã"=>"a","ạ"=>"a",

 "ấ"=>"a","ầ"=>"a","ẩ"=>"a","ẫ"=>"a","ậ"=>"a",

 "ắ"=>"a","ằ"=>"a","ẳ"=>"a","ẵ"=>"a","ặ"=>"a",

 "é"=>"e","è"=>"e","ẻ"=>"e","ẽ"=>"e","ẹ"=>"e",

 "ế"=>"e","ề"=>"e","ể"=>"e","ễ"=>"e","ệ"=>"e",

 "í"=>"i","ì"=>"i","ỉ"=>"i","ĩ"=>"i","ị"=>"i",

 "ư"=>"u","ô"=>"o","ơ"=>"o","ê"=>"e",

 "Ư"=>"u","Ô"=>"o","Ơ"=>"o","Ê"=>"e",

 "ú"=>"u","ù"=>"u","ủ"=>"u","ũ"=>"u","ụ"=>"u",

 "ứ"=>"u","ừ"=>"u","ử"=>"u","ữ"=>"u","ự"=>"u",

 "ó"=>"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",

 "ý"=>"y","ỳ"=>"y","ỷ"=>"y","ỹ"=>"y","ỵ"=>"y",

 "Ý"=>"Y","Ỳ"=>"Y","Ỷ"=>"Y","Ỹ"=>"Y","Ỵ"=>"Y",

 "Đ"=>"D","Ă"=>"A","Â"=>"A","Á"=>"A","À"=>"A",

 "Ả"=>"A","Ã"=>"A","Ạ"=>"A",

 "Ấ"=>"A","Ầ"=>"A","Ẩ"=>"A","Ẫ"=>"A","Ậ"=>"A",

 "Ắ"=>"A","Ằ"=>"A","Ẳ"=>"A","Ẵ"=>"A","Ặ"=>"A",

 "É"=>"E","È"=>"E","Ẻ"=>"E","Ẽ"=>"E","Ẹ"=>"E",

 "Ế"=>"E","Ề"=>"E","Ể"=>"E","Ễ"=>"E","Ệ"=>"E",

 "Í"=>"I","Ì"=>"I","Ỉ"=>"I","Ĩ"=>"I","Ị"=>"I",

 "Ư"=>"U","Ô"=>"O","Ơ"=>"O","Ê"=>"E",

 "Ư"=>"U","Ô"=>"O","Ơ"=>"O","Ê"=>"E",

 "Ú"=>"U","Ù"=>"U","Ủ"=>"U","Ũ"=>"U","Ụ"=>"U",

 "Ứ"=>"U","Ừ"=>"U","Ử"=>"U","Ữ"=>"U","Ự"=>"U",

 "Ó"=>"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",);

//remove any '-' from the string they will be used as concatonater
 $str = str_replace('-', ' ', $string);

$str = strtr($str, $trans);
 $lang =& JFactory::getLanguage();
 $str = $lang->transliterate($str);

// remove any duplicate whitespace, and ensure all characters are alphanumeric
 $str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-',''), $str);

// lowercase and trim
 $str = trim(strtolower($str));
 return $str;
 }

Sau khi đã thực hiện xong, bạn tiến hành Save Lại và xóa cache để thấy hiệu quả.

Lưu ý: Phải chọn Unicode Aliases là No trong phần thiết lập cấu hình SEO/SEF của Joomla! 2.5 hoặc Joomla 3.0 để tránh đường dẫn hiển thị tiếng việt.

Ngoài ra, bạn cũng có thể tải file output.php mình đã làm sẵn ở phiên bản Joomla 3.0 thông qua liên kết này hoặc phiên bản Joomla 2.5.18 tại đây.

Theo dõi
Thông báo
guest

0 Comments
Mới nhất
Cũ nhất Đánh giá
Inline Feedbacks
View all comments
Thủ thuật máy tính - Tin học dành cho bạn
Logo