Ответить Новая тема Новый опрос 
 Перегенерация ЧПУ на транслит
PENNST


Новичок
Сообщений: 41
Регистрация: 16-02-2015


26-11-2015 19:35
Всем доброго времени суток.

Столкнулся с такой проблемой что либо по незнанию, либо по отсутствию возможной функции, но при добавлении нового товара ЧПУ данного товара генерируется на русском языке. Есть ли возможность поправить такое и подогнать транслитерацию кириллицы в латиницу?

А то постоянно прыгать на сайты с онлайн транслитераторами как то надоело.)
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


26-11-2015 20:52
Цитата:( PENNST @ 26-11-2015 20:35 Смотреть сообщение )
Всем доброго времени суток.

Столкнулся с такой проблемой что либо по незнанию, либо по отсутствию возможной функции, но при добавлении нового товара ЧПУ данного товара генерируется на русском языке. Есть ли возможность поправить такое и подогнать транслитерацию кириллицы в латиницу?

А то постоянно прыгать на сайты с онлайн транслитераторами как то надоело.)

Откройте файл: /js/admin.js и замените:
Код:
str = str.replace(/[\u0105\u0104\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5]/g,'a');
str = str.replace(/[\u00E7\u010D\u0107\u0106]/g,'c');
str = str.replace(/[\u010F]/g,'d');
str = str.replace(/[\u00E8\u00E9\u00EA\u00EB\u011B\u0119\u0118\u0117]/g,'e');
str = str.replace(/[\u00EC\u00ED\u00EE\u00EF\u012F]/g,'i');
str = str.replace(/[\u0142\u0141]/g,'l');
str = str.replace(/[\u00F1\u0148]/g,'n');
str = str.replace(/[\u00F2\u00F3\u00F4\u00F5\u00F6\u00F8\u00D3]/g,'o');
str = str.replace(/[\u0159]/g,'r');
str = str.replace(/[\u015B\u015A\u0161]/g,'s');
str = str.replace(/[\u00DF]/g,'ss');
str = str.replace(/[\u0165]/g,'t');
str = str.replace(/[\u00F9\u00FA\u00FB\u00FC\u016F\u016B\u0173]/g,'u');
str = str.replace(/[\u00FD\u00FF]/g,'y');
str = str.replace(/[\u017C\u017A\u017B\u0179\u017E]/g,'z');
str = str.replace(/[\u00E6]/g,'ae');
str = str.replace(/[\u0153]/g,'oe');
str = str.replace(/[\u013E\u013A]/g,'l');
str = str.replace(/[\u0155]/g,'r');

str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]/g,'');
на:
Код:
str = str.replace(/[\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u0101\u0103\u0105\u0430]/g, 'a');
str = str.replace(/[\u0431]/g, 'b');
str = str.replace(/[\u00E7\u0107\u0109\u010D\u0446]/g, 'c');
str = str.replace(/[\u010F\u0111\u0434]/g, 'd');
str = str.replace(/[\u00E8\u00E9\u00EA\u00EB\u0113\u0115\u0117\u0119\u011B\u0435\u044D]/g, 'e');
str = str.replace(/[\u0444]/g, 'f');
str = str.replace(/[\u011F\u0121\u0123\u0433\u0491]/g, 'g');
str = str.replace(/[\u0125\u0127]/g, 'h');
str = str.replace(/[\u00EC\u00ED\u00EE\u00EF\u0129\u012B\u012D\u012F\u0131\u0438\u0456]/g, 'i');
str = str.replace(/[\u0135\u0439]/g, 'j');
str = str.replace(/[\u0137\u0138\u043A]/g, 'k');
str = str.replace(/[\u013A\u013C\u013E\u0140\u0142\u043B]/g, 'l');
str = str.replace(/[\u043C]/g, 'm');
str = str.replace(/[\u00F1\u0144\u0146\u0148\u0149\u014B\u043D]/g, 'n');
str = str.replace(/[\u00F2\u00F3\u00F4\u00F5\u00F6\u00F8\u014D\u014F\u0151\u043E]/g, 'o');
str = str.replace(/[\u043F]/g, 'p');
str = str.replace(/[\u0155\u0157\u0159\u0440]/g, 'r');
str = str.replace(/[\u015B\u015D\u015F\u0161\u0441]/g, 's');
str = str.replace(/[\u00DF]/g, 'ss');
str = str.replace(/[\u0163\u0165\u0167\u0442]/g, 't');
str = str.replace(/[\u00F9\u00FA\u00FB\u00FC\u0169\u016B\u016D\u016F\u0171\u0173\u0443]/g, 'u');
str = str.replace(/[\u0432]/g, 'v');
str = str.replace(/[\u0175]/g, 'w');
str = str.replace(/[\u00FF\u0177\u00FD\u044B]/g, 'y');
str = str.replace(/[\u017A\u017C\u017E\u0437]/g, 'z');
str = str.replace(/[\u00E6]/g, 'ae');
str = str.replace(/[\u0447]/g, 'ch');
str = str.replace(/[\u0445]/g, 'kh');
str = str.replace(/[\u0153]/g, 'oe');
str = str.replace(/[\u0448]/g, 'sh');
str = str.replace(/[\u0449]/g, 'ssh');
str = str.replace(/[\u044F]/g, 'ya');
str = str.replace(/[\u0454]/g, 'ye');
str = str.replace(/[\u0457]/g, 'yi');
str = str.replace(/[\u0451]/g, 'yo');
str = str.replace(/[\u044E]/g, 'yu');
str = str.replace(/[\u0436]/g, 'zh');

str = str.toLowerCase();
str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]/g,'');
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
PENNST


Новичок
Сообщений: 41
Регистрация: 16-02-2015


08-12-2015 15:52
Спасибо Вам огромное, добрый человек!)
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
PENNST


Новичок
Сообщений: 41
Регистрация: 16-02-2015


08-12-2015 22:47
Сменил и залил на сервер. К сожалению ничего не изменилось. Может ли быть дело в локализации?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Resident
Новичок
Сообщений: 48
Регистрация: 04-08-2011


11-04-2016 00:42
А где исправить транслит, но для производителей? А то все-равно откуда-то мягкий знак всплывает в адресе, а хочется, чтобы он просто пропускался. А то такой бред получается: mebelьnaya

Кстати, вот мой кусок из admin.js

Цитата:
var ajax_running_timeout = null;

if (!id_language)
var id_language = Number(1);

function str2url(str,encoding,ucfirst)
{
str = str.toUpperCase();
str = str.toLowerCase();
console.log(str);console.log(this);




// fix
str = str.replace(/[а]/g,'a');
str = str.replace(/[б]/g,'b');
str = str.replace(/[в]/g,'v');
str = str.replace(/[г]/g,'g');
str = str.replace(/[д]/g,'d');
str = str.replace(/[е]/g,'e');
str = str.replace(/[ё]/g,'yo');
str = str.replace(/[ж]/g,'zh');
str = str.replace(/[з]/g,'z');
str = str.replace(/[и]/g,'i');
str = str.replace(/[й]/g,'j');
str = str.replace(/[к]/g,'k');
str = str.replace(/[л]/g,'l');
str = str.replace(/[м]/g,'m');
str = str.replace(/[н]/g,'n');
str = str.replace(/[о]/g,'o');
str = str.replace(/[п]/g,'p');
str = str.replace(/[р]/g,'r');
str = str.replace(/[с]/g,'s');
str = str.replace(/[т]/g,'t');
str = str.replace(/[у]/g,'u');
str = str.replace(/[ф]/g,'f');
str = str.replace(/[х]/g,'h');
str = str.replace(/[ч]/g,'ch');
str = str.replace(/[ц]/g,'c');
str = str.replace(/[ш]/g,'sh');
str = str.replace(/[щ]/g,'shh');
str = str.replace(/[ы]/g,'y');
str = str.replace(/[э]/g,'e');
str = str.replace(/[ю]/g,'yu');
str = str.replace(/[я]/g,'ya');
str = str.replace(/[ь]/g,'');
str = str.replace(/[ ]/g,'-');
str = str.replace(/[\/]/g,'-');
str = str.replace(/[+]/g,'-');




str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]\\u00A1-\\uFFFF/g,'');
str = str.replace(/[\u0028\u0029\u0021\u003F\u002E\u0026\u005E\u007E\u002B\u002A\u002F\u003A\u003B\u003C\u003D\u003E]/g,'');
str = str.replace(/[\s\'\:\/\[\]-]/g,' ');
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос