Перейти к содержимому
Русский язык для Invision Community 5

Скрытие разделов с поиска

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

С новых сообщений, с активных сообщений, с результатов поиска, с блока новых тем и так далее.

 

Возможно ли такая выборка?

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

  • Автор

@siv1987,

У меня этот хук стоит, но это не много не то, так как через него скрываются разделы для всех юзеров.

А хотелось бы что бы юзер сам мог выбирать какие ему разделы скрыть.

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

  • Автор

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

А можно поподробней как это сделать?

  • Автор

Имеется в виду usercpForms.php?

А можно поподробней как это сделать?

1. Нужно создать текстовое поле или выпадающий список. Все это можете добавить в шаблон membersProfileForm, и будет отображаться в forum/index.php?app=core&module=usercp

2. Далее нужно обрабатывать данные, которые ввел/выбрал юзер.

3. Ну, и, соответственно, нужно это дело где-то хранить. Можно создать поле в таблице бд.

  • Автор

Становится всё более интереснее и заманчивее :)

 

Нужно создать текстовое поле или выпадающий список.

Если текстовое поле то пользователь должен вносить сам ид раздела который будет скрыт с поиска.

Но если выпадающий список, то пользователь тогда ведь сможет вносить только один раздел?

 

Все это можете добавить в шаблон membersProfileForm, и будет отображаться в forum/index.php?app=core&module=usercp

Внести ключ дополнительного поля или же <if test="memberfield:|:$member['field_номер дополнительного поля']"> ?

 

 

2. Далее нужно обрабатывать данные, которые ввел/выбрал юзер.

Вот этого не понял.

 

 

3. Ну, и, соответственно, нужно это дело где-то хранить. Можно создать поле в таблице бд.

Создать новое поле в таблице members?

  • Автор

Ребята, не поможете? :(

Но если выпадающий список, то пользователь тогда ведь сможет вносить только один раздел?

Имелся ввиду список со множественным выбором.

Внести ключ дополнительного поля или же ?
А Вы хотите через доп. поле все организовать?
Вот этого не понял.
После того, как юзер указал форумы, он нажимает на кнопку "Сохранить". Перед сохранением нужно данные обработать.
Создать новое поле в таблице members?
Можете поле создать, можете в кеше хранить.
Ребята, не поможете?
Сперва определитесь, что будет, список форумов или поле.
  • Автор

Сперва определитесь, что будет, список форумов или поле.

Список.

 

Можете поле создать, можете в кеше хранить.

Лучше в базе.

  • Автор

@newbie,

Ух ты, большое спасибо, то что надо!

 

Работает - из вариантов поиска исключает, в новых и активных сообщениях не видит.

 

А как бы ещё убрать темы с этих разделов с боковой панели последние темы и сообщения с боковой панели последние сообщения?

А как бы ещё убрать темы с этих разделов с боковой панели последние темы и сообщения с боковой панели последние сообщения?

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

 

Если просите помощи, то нужно как можно подробнее описывать то, что требуется. Хуков "последних тем и сообщений" полно.

  • Автор

Если просите помощи, то нужно как можно подробнее описывать то, что требуется. Хуков "последних тем и сообщений" полно.

Последние темы, это встроенный хук в форумный движок.

Вот он - recent_topics.zip

 

А вот хук последние сообщения - Боковая панель последних сообщений.zip

Последние темы, это встроенный хук в форумный движок.

Открыть файл admin/applications/forums/sources/classes/forums/class_forums.php

В методе hooks_recentTopics найти

		foreach( $this->forum_by_id as $forumID => $forumData )

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

			if (in_array($forumID, explode(',', $this->memberData['ri_sforums'])))
		{
			continue;
		}

 

А вот хук последние сообщения
			$exclude = $this->settings['sos_latestdiscussions_forumsexclude'];

заменить на

			$exclude = IPSText::cleanPermString($this->settings['sos_latestdiscussions_forumsexclude'] . ',' . $this->memberData['ri_sforums']);

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

Аккаунт

Навигация

Поиск

Поиск

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

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