• Главная
  • uCoz
  • Авто транслит названия материала в URL материала для Seo-модуля
Авто транслит названия материала в URL материала для Seo-модуля

Авто транслит названия материала в URL материала для Seo-модуля

О чем материал ?

Пользуясь функционалом Seo-модуля пунктом "Произвольные URL", мы имеем возможность для материалов в модулях прописывать урл какой хотим в разумных рамках. Сегодня я решил с вами поделиться небольшим скриптом, который автоматизирует процесс работы с URL.

Скрипт который будет представлен в материале, он проверяет поле название материала и производит автоматический транслит в поле URL материала, то есть, вам вручную не придется формировать урл для полей сео-модуля, он добавится автоматически.

Как установить скрипт авто транслит URL для Seo-модуля ?

Наведу пример как это реализуется для модулей Блог и Новости, нужно перейти в шаблон формы добавления и редактирования модуля:

  • /panel/?a=tmpl;m=6;t=5 - модуль новости
  • /panel/?a=tmpl;m=7;t=6 - модуль блог
  • /panel/?a=tmpl;m=10;t=8 - модуль статьи
  • /panel/?a=tmpl;m=11;t=8 - модуль файлы
  • /panel/?a=tmpl;m=12;t=8 - модуль сайты
  • /panel/?a=tmpl;m=13;t=8 - модуль объявления
  • /panel/?a=tmpl;m=21;t=8 - модуль игры

далее в самый низ после всего кода с новой строки вставить такой скрипт:

<script type="text/javascript">
function urlLit(w,v) {
var tr='a b v g d e ["zh","j"] z i y k l m n o p r s t u f h c ch sh ["shh","shch"] ~ y ~ e yu ya ~ ["jo","e"]'.split(' ');
var ww=''; w=w.toLowerCase();
for(i=0; i<w.length; ++i) {
cc=w.charCodeAt(i); ch=(cc>=1072?tr[cc-1072]:w[i]);
if(ch.length<3) ww+=ch; else ww+=eval(ch)[v];}
return(ww.replace(/[^a-zA-Z0-9\-]/g,'-').replace(/[-]{2,}/gim, '-').replace( /^\-+/g, '').replace( /\-+$/g, ''));
}
$(document).ready(function() {
$('#nwF1').bind('change keyup input click', function(){
$('#ownu284').val(urlLit($('#nwF1').val(),0))
});
});
</script>

этого будет достаточно для модуля новости. Далее при добавлении новостей и при использовании пункта "Задать индивидуальные URL, Title, Description, Keywords", будет производиться автоматический транслит названия материала в поле "URL материала". 

Примечание

В скрипте выше для модуля новости используется айди #nwF1, если вам нужно настроить скрипт для других модулей, айди нужно изменить на другой:

  • #nwF1 - Новости
  • #blF1 - Блог
  • #ldF1 - Каталог файлов
  • #puF1 - Каталог статей
  • #drF1 - Каталог сайтов
  • #bdF1 - Доска объявлений
  • #sfF1 - Онлайн игры

Разработчик скрипта: Sentimo

Лицензия: CC BY-SA 4.0

Автор: Юрий Герук

Похожие материалы:
Помогла ли вам статья?
Да Нет
Статья оказалась полезной для 0 человек
A
Спасибо за интересные решения для uCoz. Случайно наткнулся на Ваш сайт, тыкнув по ссылке в подписи профиля на форуме uCoz. Очень рад что добрые люди ещё что-то делают для uCoz и делятся этим.
З.Ы. а в этом скрипте автоматически вставляется в поле URL материала только транслит заголовка, без адреса сайта. Это конечно не критично, быстро вставить его не проблема перед заголовком, но вдруг как-то можно чтоб ещё и адрес сайта вставлялся? Но в любом случае спасибо, это действительно упрощает процесс работы с URL
avatar
Для поля URL материала адрес домена подставляется автоматически, дополнительно вставлять его не нужно. При сохранении материала вы будете иметь готовый рабочий урл.
A
Странно но у меня адрес сайта исчезает и вместо него становится только сам заголовок https://www.screenpresso.com/=07BPe
Например если я перед тем как начну вводить заголовок, ставлю галочку Задать индивидуальные URL, Title, Description, Keywords
адрес сайта стоит. Стоит только начать вводить, вместо адреса становится то что на скрине.
Если галку сразу не ставлю, а сначала вводу заголовок, а потом ставлю галку то тоже самое как на скрине.
avatar
Так и должно быть, после добавления материала, урл, который отображается в поле, применяется к создаваемому материалу и все успешно работает.
A
А вон оно что, теперь всё понятно. Спасибо smile