Хак DLE Понятный быстрый поиск


Хак для DLE Понятный быстрый поиск - это улучшение сделает возможным распознавание любых введенных букв при поиске, даже если вы пишите при неправильной раскладке клавиатуры. Вероятно многие пользователи движка DataLife Engine сталкивался с тем, что в быстром поиске на сайте DLE при неправильной раскладке языка клавиатуры вместо ожидаемого результата вы получали кракозябры в поисковой строке или отсутствие результата.

Этот хак dle поможет вам и вашим посетителям не испытывать никаких проблем и находить в любом случаи необходимый материал. Основная причина в стандартном скрипте дле нет полезной вещи как транслит, бывает вводишь английскими буквами русское слова, дабы поиск смог понять, но получаешь совершенно другое или результат не найдено совпадений.

Хак для ДЛЕ Понятный быстрый поиск установка в 5 секунд, всего две вставки

открываем /engine/ajax/search.php

____находим строчку
 if( $query == "" ) die(); $buffer = "";
}


____ниже нее вставляем
function translitEnRu($string) {

    $converter = array(

    '`' => 'ё',        'q' => 'й',        'w' => 'ц',        'e' => 'у',    
    'r' => 'к',        't' => 'е',        'y' => 'н',        'u' => 'г',    
    'i' => 'ш',        'o' => 'щ',        'p' => 'з',        '[' => 'х',    
    ']' => 'ъ',        'a' => 'ф',        's' => 'ы',        'd' => 'в',    
    'f' => 'а',        'g' => 'п',        'h' => 'р',        'j' => 'о',    
    'k' => 'л',        'l' => 'д',        ';' => 'ж',        ''' => 'э',    
    'z' => 'я',        'x' => 'ч',        'c' => 'с',        'v' => 'м',    
    'b' => 'и',        'n' => 'т',        'm' => 'ь',        ',' => 'б',    
    '.' => 'ю',    

    '~' => 'Ё',        'Q' => 'Й',        'W' => 'Ц',        'E' => 'У',    
    'R' => 'К',        'T' => 'Е',        'Y' => 'Н',        'U' => 'Г',    
    'I' => 'Ш',        'O' => 'Щ',        'P' => 'З',        '{' => 'Х',    
    '}' => 'Ъ',        'A' => 'Ф',        'S' => 'Ы',        'D' => 'В',    
    'F' => 'А',        'G' => 'П',        'H' => 'Р',        'J' => 'О',    
    'K' => 'Л',        'L' => 'Д',        ':' => 'Ж',        '"' => 'Э',    
    'Z' => 'Я',        'X' => 'Ч',        'C' => 'С',        'V' => 'М',    
    'B' => 'И',        'N' => 'Т',        'M' => 'Ь',        '<' => 'Б',    
    '>' => 'Ю',    

    );

    return strtr($string, $converter);

}


____находим строчку
(short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%')
указана начальная часть строки

____заменяем на этот код
(short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%' OR short_story LIKE '%{$queryT}%' OR full_story LIKE '%{$queryT}%' OR xfields LIKE '%{$queryT}%' OR title LIKE '%{$queryT}%')
}



Все готово ...


На днях пользователь reanimator692 для DLE 9.5-10 прислал ещё один рабочий вариант с алфавитом кириллицы и латиницы 08.09.2014

Версия DataLife Engine: 9.x - 10.x на свежей версии DLe 10.1
Дополнил: vitnet, Sander

Будет добавлять +1 запрос в БД, если по русскому языку не будет найден результат, так как будет происходить проверка по транслиту.
Автор: NaN Дополнил: vitnet, Sander скачать в текстовом файле исходники установки

Hak-dlya-DLE-Ponyatnyy-bystryy-poisk.rar [81,74 Kb] (cкачиваний: 199)
00

Комментарии (0)

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив