SEO SMM Арбитраж трафика Инструменты Программирование Веб-разработка Графика Софт Cоц. сети Скрипты сайтов Боты
хостинг
Vibix - надеждый видео-балансир

Telegram Expert

Купить резедентные прокси

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

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


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

Тест на версиях: 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();">




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

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

8-03-2020, 11:36 .zip

Скачать
Сохранить или отправить

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

Партнёрские программы

Смотреть все
1WIN ПАРТНЕРКА

1WIN ПАРТНЕРКА

1 404
  • 40
Партнерские программы / Гемблинг партнерки
Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров

Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров

795
  • 0
Арбитраж трафика / Партнерские программы / PUSH партнерки
Смотреть все

Магазин

Смотреть все
Купить
Бот для продажи VPN 3X-UI для Telegram

Бот для продажи VPN 3X-UI для Telegram

Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...

Купить
Мониторинг хайп проектов на движке DLE

Мониторинг хайп проектов на движке DLE

В данном скрипте есть возможность включить функцию чтобы пользователи сами...

Купить
Скрипт казино с 5 классическими играми.

Скрипт казино с 5 классическими играми.

Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...

Купить
Customer WishList / Избранные товары покупателей

Customer WishList / Избранные товары покупателей

Данный модуль позволяет просматривать избранные товары пользователей. Есть...

Купить
Меняем заголовок и favicon

Меняем заголовок и favicon

Меняет favicon и title, при переходе пользователя на другую вкладку в браузере....

Смотреть все

Сервисы

Смотреть все
Смотреть все