Транслитерация русских 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 комментария
Рекомендованные комментарии
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас