Поздравляю! Вы попали в архивный блог! Все новые материалы публикуются на hmdw.meX
Просмотров: 2351

GetSimple CMS: Транслит slug'а в News Manager 2.2.4

Всем привет!

Отчего то оказалось что в News Manager не прикручен автоматический транслит slug'а и если его не ввести то страницы сохраняются глючно и не отображаются т.к. имеют кривой url. Не так давно разработчики GetSimple включили функцию автоматического транслита slug прямо в ядро, но разрабы плагина News Manager видимо еще не в курсе. Сейчас мы исправим это досадное недоразумение.

Итак:

1) Идем в plugins/news_manager/inc/functions.php

2) Добавляем в начало скрипта функцию

function translitIt($str)
{
    $tr = array(
        "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
        "Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I",
        "Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
        "О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
        "У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
        "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"",
        "Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b",
        "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
        "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
        "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
        "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
        "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
        "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya"
    );
    return strtr($str,$tr);
}

3) В функции nm_create_slug() добавляем строчку с транслитированием:

function nm_create_slug($str) {
  $str = translitIt($str);
  $str = to7bit($str, 'UTF-8');
  $str = clean_url($str);
  return $str;
}

4) Радуемся жизни =)

Заморачиваться с подключением функции транслитирования из ядра не стал т.к. сама функция довольно простая и проще воткнуть ее аналог прямо в плагин.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru livejournal.ru yandex.ru
Теги:
Эта запись опубликована: Понедельник, 1 октября 2012 в рубрике Web-разработка.

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