Jump to content

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


liquid
 Share

Recommended Posts

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

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 );

 

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

Edited by liquid
Link to comment
Share on other sites

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

 

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

  • Upvote 1
Link to comment
Share on other sites

Для 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();
	});

Link to comment
Share on other sites

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

 

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

 

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

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

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

 

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

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

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

 

 

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

Edited by liquid
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

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

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

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

 

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

 

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

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

 

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

Edited by liquid
Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

Найти .collapsed .maintitle {

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

  • Upvote 1
Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

 

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

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

 

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

Открыть /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'> 

Link to comment
Share on other sites

  • 9 months later...

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

 

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

 

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

 

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

Link to comment
Share on other sites

  • 4 months later...

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...