Вы неавторизованы!
логин :  
пароль :  
   
Главная страница » Хаки » Альтернативное имя

Нравится (+) +2 Не нравится (-)
Альтернативное имя
Альтернативное имя

Динамическая транслитерация поля альтернативное имя.
Мой небольшой хак для Редактора категорий на сайте, смысл заключается в следующем: при вводе имени категории, автоматически заполняется поле 'Альтернативное имя' транслитом.
Также при редактировании поля альтернативного имени, при вводе русских символов происходит динамическая транслитерация.

Проверено на версиях: 7.5, 8.0, 8.2, 8.3
Автор: RayTraceR

Установка:
1. Открываем файл engine\skins\default.js и в начало файла вставляем:
    function AutoTranslit1()
    {        
        a=document.formText.alt_cat_name.value;
        document.formText.alt_cat_name.value=raytranslate(a);
    }
    
    function AutoTranslit2()
    {        
        a=document.formText.cat_name.value;
        document.formText.alt_cat_name.value=raytranslate(a);
    }
    
    var cyr=new Array("jo","zh","i","ch","sh","xh","je", "ju","ja","a" ,"b","v","g","d","e","z","i","k","l","m","n","o","p" ,"r","s","t" ,"u","f","x" ,"c","b","y","b","j","h","-", "", "", "");
    var lat=new Array("ё","ж","й","ч","ш","щ","э","ю","я","а","б" ,"в","г","д","е","з","и","к","л","м","н","о" ,"п","р" ,"с","т","у","ф","х","ц" ,"ь","ы","ъ","ж","х", " ", "/", "|", "");
    var latcap=new Array("Ё","Ж","Й","Ч","Ш", "Щ","Э","Ю","Я" ,"А","Б","В","Г","Д" ,"Е","З","И","К","Л","М" ,"Н","О","П","Р","С" ,"Т","У","Ф","Х","Ц","Ь","Ы","Ъ","Ж","Х", " ", "/", "|", "");

    function raytranslate(tex)
    {
    var buf=tex;
    var i;
    for (i=0;i<latcap.length;i++)
            {
            buf=trreplace(buf,latcap[i],cyr[i],1,0);
            }

    for (i=0;i<lat.length;i++)
            {
            buf=trreplace(buf,lat[i],cyr[i],1,0);
            }

    tex=buf;
    return tex;
    }

    function trreplace(target,oldTerm,newTerm,caseSens,wordOnly) {

            var work = target;
            var ind = 0;
            var next = 0;

            if (!caseSens) {
              oldTerm = oldTerm.toLowerCase();
              work = target.toLowerCase();
            }

            while ((ind = work.indexOf(oldTerm,next)) >= 0) {
              if (wordOnly) {
                var before = ind - 1;
                var after = ind + oldTerm.length;
                if (!(space(work.charAt(before)) && space(work.charAt(after)))) {
                  next = ind + oldTerm.length;
                  continue;
                }
              }
              target = target.substring(0,ind) + newTerm +
              target.substring(ind+oldTerm.length,target.length);
              work = work.substring(0,ind) + newTerm +
              work.substring(ind+oldTerm.length,work.length);
              next = ind + newTerm.length;
              if (next >= work.length) { break; }
            }

            return target;

    }


2. Далее открываем файл engine\inc\categories.php
Ищем строку (по умолчанию строка #298):
<input class="edit" value="{$row['name']}" type="text" name="cat_name">

Заменяем на:
<input class="edit" value="{$row['name']}" type="text" name="cat_name" id="cat_name" onchange="AutoTranslit2();" onkeypress="AutoTranslit2();" onkeyup="AutoTranslit2();">

Ищем строку (по умолчанию строка #302):
<input class="edit" value="{$row['alt_name']}" type="text" name="alt_cat_name">

Заменяем на:
<input class="edit" value="{$row['alt_name']}" type="text" name="alt_cat_name" id="alt_cat_name" onchange="AutoTranslit1();" onkeypress="AutoTranslit1();" onkeyup="AutoTranslit1();">

Ищем строку (по умолчанию строка #472):
<input class="edit" type="text" name="cat_name">

Заменяем на:
<input class="edit" type="text" name="cat_name" id="cat_name" onchange="AutoTranslit2();" onkeypress="AutoTranslit2();" onkeyup="AutoTranslit2();">

Ищем строку (по умолчанию строка #476):
<input class="edit" type="text" name="alt_cat_name">

Заменяем на:
<input class="edit" type="text" name="alt_cat_name" id="alt_cat_name" onchange="AutoTranslit1();" onkeypress="AutoTranslit1();" onkeyup="AutoTranslit1();">


Готово!
Если лень вбивать вручную, можно скачать уже готовые файлы для разных версий dle:

Внимание! У вас нет прав для просмотра скрытого текста.

Ключевые теги: Альтернативное имя

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
 

 
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
 
Поиск по сайту
Что ищем :

 

Популярные статьи

  Партнёры

 

Архив новостей
Апрель 2011 (1)
Июнь 2010 (2)
Апрель 2010 (2)
Март 2010 (4)
Февраль 2010 (34)
Январь 2010 (8)

Всего на сайте: 0
Гостей: 0
Пользователи: - отсутствуют
Роботы: - отсутствуют
 
Это интересно
 


 
Главная  |  Регистрация  |  Правила сайта  |  Статистика  |  Новое на сайте  |  Контакты  |  RSS 2.0