Автоматическое заполнение поля альтернативное имя в катерориях

У нас вы можете скачать бесплатно Автоматическое заполнение поля альтернативное имя в катерориях .

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


Динамическая транслитерация поля альтернативное имя/автоматическое заполнение поля альтернативное имя

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

Пробовал на версиях 7.5, 8.0, 8.2, 8.3

Приступаем:
Открываем файл engineskinsdefault.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. Далее открываем файл engineinccategories.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();">


Готово!


Комментарии к статье:

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


Апдейты Яndex тИЦ
16.02.2012Последний
04.02.2012
23.12.2011
Апдейты Яndex выдачи
04.03.2012Последний
02.03.2012
01.03.2012
Апдейты ЯКаталога
02.03.2012Последний
01.03.2012
28.02.2012
Апдейты Google
06.02.2012Последний

Комментарии

Написал:
JimaX
В новости:
DLE Forum 2.5 nulled
Написал:
baha-00
В новости:
DLE Forum 2.5 nulled

Опрос на сайте

Нужен ли нам личный блог?


Да, нужен
Мне, все равно
Нет, зачем и так все отлично !

Кнопка сайта

Скрипты, cms, шаблоны, статьи по раскрутке


Мини чат

      JimaX: Конечно, обращайтесь если что ad
      Wester: JimaX, спасибо получил, хороший у вас сайт, если что не смогу сделать поможете ?
      JimaX: Все, ваш файл переделали, ссылку на скачку отправили в личку smile-11
      Wester: JimaX, все написал, буду ждать ответа !
      JimaX: Здравствуйте, конечно помогу, напишите в личку что у вас за проблемы ab
      Wester: JimaX, привет, не поможешь мне с сайтом, есть кое какие проблемы sad
      JimaX: Читайте внимательно наши правила 4itaypra
      JimaX: Также хотим вас предупредить, за спам в комментариях вы отправляетесь на пожизненный Бан.
      JimaX: Если вас что то конкретно интересует пишите в личку, пожалуйста не засоряйте чат ab
      JimaX: Была произведена чистка чата, потому что некоторые так сказать недоумки пишут что попало, все они отправились на пожизненный Бан ! ppl_ninja


      Только зарегистрированные пользователи могут отправлять сообщения войдите или зарегистрируйтесь