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

Как свернуть категории форума навсегда

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

03/21/14 13:27 (изменено)

Здравствуйте, прошу кто знает помочь или подсказать где искать :

Ipb форум версии 3.4

 

Хочу чтобы категории на форуме по умолчанию всегда показывались свернутыми. Чтобы пользователь сам разворачивал категорию, которая ему интересна.

Сделать это решил с той целью, что имеется много форумов и подфорумов - в развернутом виде их cписок получается нереально длинным.

PS. в админке функция: "Не показывать подфорумы на главной странице" - проблемы не решит

 

На одном сайте нашел вроде как инструкцию по этому вопросу, но она видно рассчитана на старую версию IPB и тех строчек кода , что в ней указаны для изменения я не нашел. На всякий выкладываю эту инструкцию, может с ней кто сможет подсказать:

 

 

Открываем public > js > ips.board.js

 

Находим

$$('.ipb_table').each( function(tab){

var tmp = $( tab ).wrap( 'div' );

$( tmp ).addClassName('table_wrap');

 

Добавляем ниже

$( tmp ).hide();

mt = $( tmp ).up('.category_block').down('.maintitle');

$( mt ).addClassName('collapsed');

 

Находим

wrapper.hide();

$( 'category_' + cookies[ abcdefg ] ).addClassName('collapsed');

 

Заменяем на

wrapper.show();

$( 'category_' + cookies[ abcdefg ] ).removeClassName('collapsed');

 

Находим

{

catname.removeClassName('collapsed');

remove.push( catid );

}

 

Заменяем на

{

catname.removeClassName('collapsed');

cookie.push( catid );

}

 

Находим ниже

cookie.push( catid );

 

Меняем на

remove.push( catid );

 

Куки работают в инверсии. Куки будут читаться в противоположном значении. Т.е по умолчанию все категории закрыты.

Изменено пользователем liquid

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


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

Советую избавится от лишних форумов. Большое количество форумов сильно влияет на производительность, так как они грузятся каждый раз при запросе любой страницы - высчитываются потомки и другие операции влияющие на скорость.

 

Судя по адресам и прототайпу инструкция для тройки

  • Upvote 1

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


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

Для 3.4x

Открыть /public/js/ips.board.js

Найти

					wrapper.hide();
					$( 'category_' + cookies[ abcdefg ] ).addClassName('collapsed');

Заменить на

					wrapper.show();
					$( 'category_' + cookies[ abcdefg ] ).removeClassName('collapsed');

 

Найти

		remove.push( catid );

Заменить на

		cookie.push( catid );

Ниже найти

		cookie.push( catid );

И заменить на

		remove.push( catid );

 

АЦ -> Внешний вид -> используемый стиль -> Список форумов -> boardIndexTemplate

Найти

category_block block_wrap

Заменить на

category_block block_wrap collapsed

Найти

class='ipsBox table_wrap'

Заменить на

class='ipsBox table_wrap' style='display: none'

 

Почему правкой шаблона? Потому что при сворачивание категории на javascript они сперва, пока не загрузится DOM, доли секунды будут открыты, а потом закрыты. Чем больше категорий, чем сильнее это будет заметнее. Поэтому правим шаблон чтобы изначально при рендеринге страницы они были закрыты.

 

Но можно и при помощью javascript их закрыть без правкой шаблона

В том же ips.board.js найти

	var cookie			= ipb.Cookie.get('toggleCats');

Ниже добавить

	$$('.category_block.block_wrap').each(function(elem){
		var wrapper = elem.down('.table_wrap');

		elem.addClassName('collapsed');
		wrapper.hide();
	});

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


Ссылка на сообщение
03/24/14 10:59 (изменено)

Спасибо большое, все действительно работает.

 

Прошу прощения за назойливость, но может кто нить еще подскажет:

 

Сейчас у меня есть постоянно свернутые категории на форуме. Чтобы попасть внутрь категории надо кликнуть на ее название.

А вот чтобы развернуть ее надо нажать значок + в правой части категории.

Есть ли возможность, чтобы категория разворачивалась при клике мышкой по категории а не ( или не только)на значок +

 

То есть в итоге, чтобы получилось :

!!! чтобы развернуть категорию достаточно было нажать на ее синюю полоску в любом месте (Просто не вижу смысла заходить внутрь категории и просматривать форумы, когда можно сразу ее развернуть и выбрать нужный форум без перезагрузки страницы

При этом допустимо пожертвовать возможностью захода внутрь категории при клике на ее название.

 

 

Или это слишком сложные и большие переделки на форуме требуются?

Изменено пользователем liquid

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


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

Наверное можно, но это будет не продуктивно, зачем тогда скрывать категории если пользователью в любом случае придется их открыть чтобы увидеть форумы?

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


Ссылка на сообщение
03/24/14 12:10 (изменено)

Но ведь он может равернуть именно ту, которая ему интересна и не просматривать длинный список неинтересных.

А вот представьте на форуме есть несколько категорий (например закрых (как у меня)

В одной категории 20 форумов, а в другой 2, в третьей -тоже всего 4форума например и так далее.

Стоит ли ему заходить внутрь категории (нажав на ее название), подождать пока перезагрузится страница браузера - и в итоге увидеть всего пару форумов внутри.

Ведь гораздо проще развернуть интересующую категорию и посмотреть список форумов

 

Как я понимаю видно это не так просто, ладненько буду может как то экспериментировать. Если будут результаты - отпишусь, вдруг кому пригодится.

 

PS Просто категорий у меня будет штук 6 , а вот форумов около 80, и например категория "Кулинария" - это большое количество форумов и подфорумов

А "доска объявлений" - это всего штук 12 форумов

 

Человеку , который пришел подать объявление, огромный список кулинарных форумов будет просто нентересен, а может и напрягать, вот и пусть разворачивают, каждый то, что ему надо

Изменено пользователем liquid

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


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

Ну тогда еще один последний вопрос)

Закрытые категории как то блекло выглядят (не презентабельно))) случаем не знаете, можно их цвет изменить или как то приукрасить.

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


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

Закрытые категории как то блекло выглядят (не презентабельно))) случаем не знаете, можно их цвет изменить или как то приукрасить.

Внешний вид -> %шаблон% -> CSS -> ipb_styles.css

Найти .collapsed .maintitle {

Удалить в этом блоке opacity: 0.2;

  • Upvote 1

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


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

Хочу чтобы категории на форуме по умолчанию всегда показывались свернутыми. Чтобы пользователь сам разворачивал категорию, которая ему интересна.

http://community.invisionpower.com/files/file/4995-default-collapsed-categories/

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


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

Большое спасибо , посмотрел, хук видно действительно хороший, но склоняюсь в ранее подсказанному мне варианту (Большушее спасибо siv1987 ). Раз дело можно решить небольшими изменениями в шаблоне.

 

Все как надо получилось. Вот пока гуглю и занимаюсь вслепую вскрытием дистрибутива Ipb на предмет решения моего вопроса на который пока не нашел ответ.

Жуткко хочу чтобы категории разворачивались при нажатии на синюю полоску категории.( то есть результат при нажатии на синюю полоску категории был таким же - как при нажатии на знак+ в правой части категории.)

 

Пока не нашел. Если знаете хотя бы предположительно в какой части кода можно подобные изменения внести - буду благодарен .Очень

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


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

Советую избавится от лишних форумов. Большое количество форумов сильно влияет на производительность, так как они грузятся каждый раз при запросе любой страницы, высчитываются потомки и другие операции влияющие на скорость.

Имеется в виду большое количество форумов (разделов) на главной странице или вообще? Подразделы учитываются?

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


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

Жуткко хочу чтобы категории разворачивались при нажатии на синюю полоску категории

Открыть /public/js/ips.board.js

Найти

	ipb.delegate.register(".category_block .toggle", ipb.board.toggleCat);

Ниже добавить

	ipb.delegate.register(".category_block .mytoggle", ipb.board.toggleCat);

 

Внешний вид -> %шаблон% -> Список форумов -> boardIndexTemplate

Найти

<h3 class='maintitle'> 

заменить на:

<h3 class='maintitle mytoggle'> 

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


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

Огромное спасибо , все работает супер просто

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


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

Советую избавится от лишних форумов. Большое количество форумов сильно влияет на производительность, так как они грузятся каждый раз при запросе любой страницы, высчитываются потомки и другие операции влияющие на скорость.

 

Судя по адресам и прототайпу инструкция для тройки

 

Столкнулся с этой ситуацией, есть категория в ней 25 разделов, это не считая другие.

 

Если всё попрятать в подфорумы оно спасет?

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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