Проследить за всеми новостями мы не можем, так как новости берутся из открытых источников. Если вы считаете, что новость нарушает ваши права на авторство или дизайн, то обратитесь к администрации данного ресурса.
© artsss-web.ru 2010 - 2012
{dotcat}
Автор: Index_ | 1-03-2012, 16:05
Небольшой хак для Редактора категорий на сайте, смысл заключается в следующем: при вводе имени категории, автоматически заполняется поле 'Альтернативное имя' транслитом.
Также при редактировании поля альтернативного имени, при вводе русских символов происходит динамическая транслитерация.
Пробовал на версиях 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;
}
{
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();">
Своё Спасибо, еще не выражали.
Рейтинг:
Комментариев: 0 | Просмотров: 889
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Зарегестрировавшись,вы сможете скачивайть файлы с нашего сервера.Общатся в чате просматривать и вести жизнь на нашем форуме,и многое другое)xD
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Зарегестрировавшись,вы сможете скачивайть файлы с нашего сервера.Общатся в чате просматривать и вести жизнь на нашем форуме,и многое другое)xD
Рекомендуем также:
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.