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

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

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

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

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

Toggle subforums for IPB 3.2 - 3.4

Мод позволяет сворачивать блоки со списком подфорумов. Сделан по просьбе @justme.

 

В начало шаблона forumIndexTemplate, группа шаблонов "Forum View", добавляем скрипт:

<script type="text/javascript">
var isEnabled = !Prototype.Browser.IE6;
var toggleCookieName = 'subforumsToggle';
var toggleRun = false;

if (isEnabled) {
	document.observe("dom:loaded", toggleInitialize);
}

function toggleSubforums(obj) {
	if (!isEnabled || toggleRun) {
		return false;
	}

	var wrapper = obj.up('.category_block').down('.table_wrap');
	var catblock = obj.up('.category_block');

	Effect.toggle( wrapper, 'blind', {
		duration: 0.4,
		beforeStart: function() {
			toggleRun = true;
		},
		afterFinish: function() {
			toggleRun = false;
			if ( catblock.hasClassName('collapsed') ) {
				catblock.removeClassName('collapsed');
				toggleSetOpenBlocks(obj.id, false);
			} else {
				catblock.addClassName('collapsed');
				toggleSetOpenBlocks(obj.id, true);
			}
		}
	} );
}

function toggleGetOpenBlocks() {
       var cookies = ipb.Cookie.get(toggleCookieName);
       if (cookies) {
           return cookies.split(',');
       }

       return [];
   }

   function toggleSetOpenBlocks(id, isClose) {
       var openBlocks = toggleGetOpenBlocks();
       if (isClose) {
           openBlocks.push(id);
       } else {
           openBlocks = openBlocks.uniq().without(id);
       }

       ipb.Cookie.set(toggleCookieName, openBlocks.join(','), 1);
   }

function toggleInitialize() {
	$$('.category_block').each(function(block) {
		var id = block.down('.toggle').id;
	} );

	toggleGetOpenBlocks().each( function(id) {
           if ( $(id) ) {
			var block = $(id).up('.category_block');
		}
           if (block) {
			block.addClassName('collapsed');
			block.down('.table_wrap').hide();
           }
       } );
   }
</script>

Далее ищем код:

		<h3 class='maintitle'>{$this->lang->words['sub_forum_title']}</h3>

Заменяем на:

		<h3 class='maintitle'>
		{$this->lang->words['sub_forum_title']}
		<a id="subforum_{$forum_data['id']}" class='toggle right' href='#'  title="{parse expression="sprintf( $this->lang->words['toggle_cat'], $this->lang->words['sub_forum_title'] )"}" onclick="toggleSubforums(this);"></a>
	</h3>

Сохраняем шаблон и собственно всё.

Рекомендованные сообщения

perfect thanks

  • 2 года спустя...

У меня почему-то не заработал мод... Сделал по инструкции, эффекта нет, ничего не поменялось. Должна была кнопка сворачивания появиться?

А есть для 3.4 какой-нибудь другой хук, позволяющий сворачивать подфорумы?

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

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

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