Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Dmitriy427

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>

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

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение

perfect thanks

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...