Транслитерация русских URL для английской версии IPB 3.4
Транслитерация русских URL для английской версии IPB 3.4
P.S. - для английской версии IPB 3.4
1. admin\sources\base\core.php
Найти:
elseif ( strtolower( IPS_DOC_CHAR_SET ) == 'utf-8' )
{
$string = utf8_encode( $string );
}
return $string;
}Добавить ниже:
static public function monthNameRu2En( $text )
{
return str_replace( array('Январь','Февраль','Март','Апрель','Май','Июнь,','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'), array('January','February','March','April','May','June','July','August','September','October','November','December'), $text );
}
static public function transliterate( $text )
{
return str_replace( array('а','б','в','г','ґ','д','е','є','ё','ж','з','и','і','ї','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','э','ю','я','ы','ь','ъ'), array('a','b','v','g','g','d','e','e','yo','zh','z','i','i','i','i','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sch','e','yu','ya','y','','j'), $text);
}
static public function makeSeoTransliterate( $text )
{
if (!IPB_USE_SEO_TRANSLIT )
{
return $text;
}
if ((is_array($text)) && (count($text)))
{
foreach( $text as $titlefortranslit)
{
$titlefortranslit = self::makeSeoTransliterate( $titlefortranslit );
}
return $text;
}
else
{
$text = urldecode($text);
$text = self::transliterate( $text );
$text = preg_replace('#[^a-z0-9-.]#', '', $text);
$text = urlencode($text);
}
return $text;
}Найти:
$text = preg_replace( "#-{2,}#", '-', $text );
$text = trim($text, '-');Добавить ниже:
$text = self::makeSeoTransliterate( $text );
Перед сохранением для корректной обработки кириллицы нужно изменить кодировку файла на UTF-8 без BOM.
2. admin\sources\classes\output\publicOutput.php
Найти:
if ( ! ipsRegistry::$settings['use_friendly_urls'] )
{
return $url;
}Добавить ниже:
$seoTitle = IPSText::makeSeoTransliterate( $seoTitle );
Обновить кеш Furl.
Источник: Транслитерация русских URL для английской версии IPB 3.4
Войдите, чтобы подписаться
Подписчики
0
3 комментария
Рекомендованные комментарии
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас