Мы в твиттере Мы в телеграме!

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

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

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

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Динамическая транслитерация поля альтернативное имя/автоматическое заполнение поля альтернативное имя.



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

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

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


Готово!


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


-1
Просмотры: 9 848 :: Комментарии (12) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1teroor

  • 23 января 2010 17:56
  • Регистрация: 8.11.2009
  • Был(а) онлайн: 10.11.2019
  • Комментариев: 106
  • -1
angel Штучка хорошая для админов

--------------------

#2WooW

  • 23 января 2010 18:16
  • Регистрация: 22.10.2009
  • Был(а) онлайн: 14.08.2024
  • Комментариев: 510
  • -1
Цитата: teroor
Штучка хорошая для админов

Нам твоё мнение-в пятой точке.
Читай новость Ильи bo
В след. раз - бан!

#3Pheox

  • 23 января 2010 21:24
  • Регистрация: 13.07.2009
  • Был(а) онлайн: 12.07.2012
  • Комментариев: 172
  • -1
Бред.. Ты же не каждый день категории создаеш. Создал один раз и больше ненадо.. Афтора в топку!!!111111111111111111111

#4mochej

  • 23 января 2010 21:32
  • Регистрация: 31.10.2009
  • Был(а) онлайн: 27.09.2016
  • Комментариев: 242
  • -1
Бред.. Ты же не каждый день категории создаеш. Создал один раз и больше ненадо.. Афтора в топку!!!111111111111111111111

Если автора в топку, тебе бан на век

Нам твоё мнение-в пятой точке.
Читай новость Ильи bo
В след. раз - бан!

С какого времени запрещено высказывать своё адекватное мнение? ну я понимаю что комментарий teroorа не о чем, но всё таки

P.S по теме, альтернативное имя ведь и так на английский переводиться, если там на русском пишешь, или я не прав?

#5WooW

  • 23 января 2010 21:43
  • Регистрация: 22.10.2009
  • Был(а) онлайн: 14.08.2024
  • Комментариев: 510
  • -1
Цитата: mochej
P.S по теме, альтернативное имя ведь и так на английский переводиться, если там на русском пишешь, или я не прав?

Прав. Гидравлика будет: gidravlika.

Цитата: mochej
Если автора в топку, тебе бан на век

Посмотрим, пока усное замечание!

Цитата: Pheox
Бред.. Ты же не каждый день категории создаеш. Создал один раз и больше ненадо.. Афтора в топку!!!111111111111111111111

Кажется в 7-8 классе есть урок "Теория вероятности", почитай.

Цитата: mochej
С какого времени запрещено высказывать своё адекватное мнение? ну я понимаю что комментарий teroorа не о чем, но всё таки

А с того что надо новость зафиксированную прочитать!!!

#6RayTraceR

  • 24 января 2010 11:32
  • Регистрация: 24.01.2010
  • Был(а) онлайн: 1.04.2013
  • Комментариев: 2
  • -1
Я чтото не понимаю WooW мой хак, списал мою новость с сайта 4дле точка ру, и теперь выдаеш за свой? А где ссылка на автора и первоисточник?

#7WooW

  • 24 января 2010 11:59
  • Регистрация: 22.10.2009
  • Был(а) онлайн: 14.08.2024
  • Комментариев: 510
  • -1
Цитата: RayTraceR
Я чтото не понимаю WooW мой хак, списал мою новость с сайта 4дле точка ру, и теперь выдаеш за свой? А где ссылка на автора и первоисточник?

Мой хак? chok
Интересно где я такое сказал, очень интересно!

#8Alexander.S

  • 24 января 2010 14:11
  • Регистрация: 27.11.2009
  • Был(а) онлайн: 21.08.2023
  • Комментариев: 120
  • -1
Модуль хорош, но я стараюсь писать имя на русском а альтернативу перевод русского слова. Россия - Russia =)

#9RayTraceR

  • 24 января 2010 18:48
  • Регистрация: 24.01.2010
  • Был(а) онлайн: 1.04.2013
  • Комментариев: 2
  • -1
Цитата: WooW
Мой хак? Интересно где я такое сказал, очень интересно!

А что скажеш про первоисточник и указание автора? :)

#10n2o

  • 7 февраля 2010 18:50
  • Регистрация: 27.01.2010
  • Был(а) онлайн: 11.02.2016
  • Комментариев: 26
  • -1
неплохо, но все же лучше самому это делать

#11kaban

  • 24 февраля 2010 15:41
  • Регистрация: 11.02.2010
  • Был(а) онлайн: 26.08.2014
  • Комментариев: 41
  • -1
а отключать можно, вдруг не понравится как перевел

#12WooW

  • 1 мая 2010 14:34
  • Регистрация: 22.10.2009
  • Был(а) онлайн: 14.08.2024
  • Комментариев: 510
  • -1
Цитата: RayTraceR
А что скажеш про первоисточник и указание автора? :)

О господи..уйди с глаз долой ;)

kaban, вручную изменять.

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

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)