Skip to content

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

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

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

 

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

Featured Replies

  • Author

@siv1987,

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

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

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

  • Author

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

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

  • Author

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

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

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

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

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

  • Author

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

 

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

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

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

 

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

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

 

 

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

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

 

 

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

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

  • Author

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

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

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

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

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

Список.

 

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

Лучше в базе.

  • Author

@newbie,

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

 

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

 

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

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

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

 

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

  • Author

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

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

Вот он - 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']);

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.