Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Транслитерация русских URL для английской версии IPB 3.4

(0 отзывов)

Транслитерация русских 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

3 комментария

Рекомендованные комментарии

Уокер Newbie

Уокер

Пользователи

Как бы первоисточник нужно указывать.. Не хорошо.

ипбмафия.ru/tutorials/baza-znaniy/transliteraciya-url-v-versiyah-ot-ips-r16/

Strategius Newbie

Strategius

Пользователи

Как бы первоисточник нужно указывать.. Не хорошо

Во-первых, статья взята не с того ресурса, а во-вторых, внимательно сравните сначала правки.

siv1987 Newbie

Как бы первоисточник нужно указывать..

Если говорить о первоисточнике, то им является локализация от ибр, откуда была взята данная правка. При том, на ссылаемом источнике она довольно устаревшая, потому что, насколько я помню когда писал хук для транслитерации SEO url, аргументом в функции makeSeoTransliterate может быть как текст так и array.

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.