Addon Hỏi cách fix url mất ký tự xentag tinhte

singh

Sergeant
Vấn đề này nhiều ae cũng hỏi khi cài xentag tinhte. Cũng có cách fix trên mạng nhưng mình làm theo thì không fix được ( đang dùng xen 1.5.21 )
Việc là url của tags ví dụ:
Từ khóa:
domain.com/tags/bị lỗi url.
Đáng ra sẽ thành: domain.com/tags/bi-loi-url
Nhưng nó lại thành: domain.com/tags/bi-li-url ( mất ký tự )

Còn một vấn đề. Là mình cài addon này trên 1 web xen khác cũng 1.5.21. Nhưng tính năng tự động gắn thẻ tags vào bài viết có sẵn nó không hoạt động.
Một web ngon lành nhưng bị lỗi mất url ký tự, một web thì không hoạt động được tính năng
In-word Auto Complete
Enable this option to suggest tags for auto completion with in-word match. By default, XenForo only suggest matching starting from the beginning. Please note that this feature may impact server performance, especially with large database of tags.
Ae nào fix được share mình cảm ơn rất nhiều nhé.

----note---- cach fix tìm trên mạng nhưng không giải quyết được---
File cần chỉnh sửa:

Mã:
\library\XenForo\DataWriter\Tag.php
\library\XenForo\Model\Tag.php

Tìm:
Mã:
protected function _getUrlVersion($tag)
    {
        $urlVersion = preg_replace('/[^a-zA-Z0-9_ -]/', '', utf8_romanize(utf8_deaccent($tag)));
        $urlVersion = preg_replace('/[ -]+/', '-', $urlVersion);

Thay bằng code sau
Mã:
public function buidoi_fixCharUtf8($char)
    {
        /* www.buidoi.net */
        $char = preg_replace("#(à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ|À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ)#", 'a', $char);
        $char = preg_replace("#(è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ|È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ)#", 'e', $char);
        $char = preg_replace("#(ì|í|ị|ỉ|ĩ|Ì|Í|Ị|Ỉ|Ĩ)#", 'i', $char);
        $char = preg_replace("#(ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ|Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ)#", 'o', $char);
        $char = preg_replace("#(ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ|Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ)#", 'u', $char);
        $char = preg_replace("#(ỳ|ý|ỵ|ỷ|ỹ|Ỳ|Ý|Ỵ|Ỷ|Ỹ)#", 'y', $char);
        $char = preg_replace("#(đ|Đ)#", 'd', $char);
        $char = iconv('utf-8', 'us-ascii//TRANSLIT', $char);
        $char = preg_replace('~[^- \w]+~', '', $char);
        $char = mb_strtolower($char, 'UTF-8');
        $char = preg_replace('/[ -]+/', '-', $char);
        return $char;
    }

    protected function _getUrlVersionOfTag($tag)
    {
        $db = $this->_getDb();

        $urlVersion = $this->buidoi_fixCharUtf8($tag);
        /* remove
        $urlVersion = preg_replace('/[^a-zA-Z0-9_ -]/', '', utf8_romanize(utf8_deaccent($tag)));
        $urlVersion = preg_replace('/[ -]+/', '-', $urlVersion);
*/
cảm ơn anh chị em bà con cô bác nội ngoại 2 bên
 
giờ bạn dùng Xen 1 cũng khó tìm được người hỗ trợ. Các bạn hướng dẫn thì đa phần cũng đã cũ.
Khuyên bạn nên upgrade lên 2.
 
giờ bạn dùng Xen 1 cũng khó tìm được người hỗ trợ. Các bạn hướng dẫn thì đa phần cũng đã cũ.
Khuyên bạn nên upgrade lên 2.
cũng muốn lắm bạn. nhưng web dùng addon lọc giá là chính, giờ chuyển đổi lên xen2 không hỗ trợ. ....
 
Back
Top