Tutorial 2x Url không dấu cho xf 2.1.x fixed dấu unicode (no addon)

Discussion in 'Tips and Guides' started by phihanh, Jan 2, 2019.

  1. phihanh

    phihanh Thượng Đế

    Joined:
    Nov 23, 2015
    Messages:
    27
    Likes Received:
    9
    Trophy Points:
    3
    Gender:
    Male
    URL không dấu các bạn nên sửa tự nhiên đừng dùng addon nhiều làm gì (kinh nghiệm cá nhân)
    đoạn code này mình có thêm 1 số ký tự dấu của unicode khi member dùng unicode tổ hợp sẽ bị lỗi ko xóa dấu

    Tìm file Router.php trong thư mục /src/XF/Mvc

    Tìm đoạn code

    PHP:
    if ($romanize)
            {
                
    $string utf8_romanize(utf8_deaccent($string));
                
    $originalString $string;

                
    // Attempt to transliterate remaining UTF-8 characters to their ASCII equivalents
                
    $string = @iconv('UTF-8''ASCII//TRANSLIT'$string);
                if (!
    $string)
                {
                    
    // iconv failed so forget about it
                    
    $string $originalString;
                }
            }
    thêm vào bên dưới

    PHP:
    $aPattern = array (
                
    "a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ",
                
    "o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ",
                
    "e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ",
                
    "u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ",
                
    "i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ",
                
    "y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ",
                
    "d" => "đ|Đ",
                
    "" => "̉|̣|̃|̀|́"// dấu unicode tổ hợp
            
    );
            while(list(
    $key,$value) = each($aPattern))
            {
                
    $string preg_replace('/'.$value.'/i'$key$string);
            }
    lưu ý ở trong admincp nó sẽ báo file bị thay đổi kệ nó đừng quan tâm nha
     
    quick87, Win and cuonghv like this.
  2. kiniemxua

    kiniemxua Thượng Đế

    Joined:
    May 22, 2016
    Messages:
    30
    Likes Received:
    15
    Trophy Points:
    8
    Cám ơn bạn nhiều! clap~~
     
  3. antinphat

    antinphat Thượng Đế

    Joined:
    May 17, 2019
    Messages:
    89
    Likes Received:
    14
    Trophy Points:
    8
    Gender:
    Male
    Location:
    hcm
    Chép vô giải quyết được vấn đề url không dấu đẹp đẽ nhưng trong phần quản trị thì bị lỗi :(
    upload_2019-5-18_11-24-21.png
     
  4. datdaik000

    datdaik000 Thượng Đế

    Joined:
    Mar 24, 2015
    Messages:
    1,891
    Likes Received:
    1,447
    Trophy Points:
    113
    Gender:
    Male
    Occupation:
    Student
    Location:
    Nam Định
    ĐỪNG BAO GIỜ TỰ SỬA FILE CÓ SẴN TRÊN XENFORO 2.
    Nếu có khả năng, hãy tự làm addon.
    Nếu không, hãy tìm addon có chức năng mà b cần.

    Nếu tự sửa file có sẵn, lỗi sẽ xuất hiện ( cmt trên ).
     
    ENXF NET likes this.
  5. ENXF NET

    ENXF NET Thượng Đế

    Joined:
    Dec 11, 2018
    Messages:
    107
    Likes Received:
    36
    Trophy Points:
    28
    Occupation:
    Bán đất + căn hộ ở TPHCM
    Location:
    Nghệ An
    Home Page:
    k muốn có cái thông báo đó thì vào Delete file /src/addons/XF/hashes.json xóa nó đi ^^ hoặc xóa 1 dòng bạn sửa
     
  6. phihanh2

    phihanh2 Thượng Đế

    Joined:
    May 2, 2019
    Messages:
    25
    Likes Received:
    2
    Trophy Points:
    3
    Gender:
    Male
    Location:
    Pháp
    nó chỉ là thông báo kiểu check health thôi mà xóa nó đi là đc ko sao đâu

    bác là ad enxf.net à
     
  7. ENXF NET

    ENXF NET Thượng Đế

    Joined:
    Dec 11, 2018
    Messages:
    107
    Likes Received:
    36
    Trophy Points:
    28
    Occupation:
    Bán đất + căn hộ ở TPHCM
    Location:
    Nghệ An
    Home Page:
    ừm bác
     
  8. phihanh2

    phihanh2 Thượng Đế

    Joined:
    May 2, 2019
    Messages:
    25
    Likes Received:
    2
    Trophy Points:
    3
    Gender:
    Male
    Location:
    Pháp
    trời mé em tưởng forum đó của mấy ông tây hóa ra mấy Pro vn kiếm chuối :D
    ở forum bác có full add-on bên bet365 có những phương thức nạp tiền nào_link vào bet365_điểm số trực tiếp bet365.com ko bác
     
  9. ENXF NET

    ENXF NET Thượng Đế

    Joined:
    Dec 11, 2018
    Messages:
    107
    Likes Received:
    36
    Trophy Points:
    28
    Occupation:
    Bán đất + căn hộ ở TPHCM
    Location:
    Nghệ An
    Home Page:
    :)) e chỉ 1 phần trong đó thôi bác, k full đâu bác, cũng kha khá à, mấy cái SVIP là addon mua á
     
  10. phihanh2

    phihanh2 Thượng Đế

    Joined:
    May 2, 2019
    Messages:
    25
    Likes Received:
    2
    Trophy Points:
    3
    Gender:
    Male
    Location:
    Pháp
    toàn cao nhân :v
     
  11. traderfovn

    traderfovn Thượng Đế

    Joined:
    Feb 2, 2020
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    Location:
    ha noi
    không phải dưới
    Code:
    if ($romanize)
            {
                $string = utf8_romanize(utf8_deaccent($string));
                $originalString = $string;
    
                // Attempt to transliterate remaining UTF-8 characters to their ASCII equivalents
                $string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
                if (!$string)
                {
                    // iconv failed so forget about it
                    $string = $originalString;
                }
            }
    mà phải là dưới cái này
    Code:
    $string = strval($string);
    thì up thêm đoạn code này là ok:
    Nếu php5 thì up:
    Code:
    //Url khong dau
    $hacobi1102 = array ("a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ","o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ","e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ","u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ","i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ","y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ","d" => "đ|Đ",);
    while(list($key,$value) = each($hacobi1102))
    {
    $string = @ereg_replace($value, $key, $string);
    }
    //end khong dau
    còn php7 thì up code này
    Code:
    //Url khong dau
    $hacobi1102 = array(
    "a" => "Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ|á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ",
    "d" => "Đ|đ",
    "e" => "É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ|é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ",
    "i" => "Í|Ì|Ỉ|Ĩ|Ị|í|ì|ỉ|ĩ|ị",
    "o" => "Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ|ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ",
    "u" => "Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự|ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự",
    "y" => "Ý|Ỳ|Ỷ|Ỹ|Ỵ|ý|ỳ|ỷ|ỹ|ỵ",
    );
    foreach($hacobi1102 as $replace => $search){
    $string = preg_replace("/($search)/i", $replace, $string);
    }
    $string = str_replace(" ", "-", $string);
    //end khong dau
    https://www.facebook.com/phong.hyk
     

Share This Page