Skip to content

Изменить фильтр форумов

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

 

post-32932-0-79993400-1426167766_thumb.png

 

Пункт "Фильтровать по форуму" неудобен, так как чтобы исключить один форум, нужно поочередно выделять или не выделять форумы в списке.

 

Проанализировал POST запрос, отправляемый с формы "Фильтровать по форуму". Запрос отправляется на url:

 

_http://сайт.ru/forum/index.php?app=core&module=ajax&section=search&do=saveForumsVncFilter

 

Отправляются следующие параметры:

secure_key:e5004514a3c2dd44df05aded5b02e5b2

saveVncFilters:14,25,26,13,21,22,8,20,19,16,18,

 

Что мне дальше делать с этим? Как всё это дело вставить в шаблон?

Featured Replies

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

<a href="#" id="vncFilters">Исключить форумы</a>

<script>
$('vncFilters').observe('click', function(e){
Event.stop(e);
var _url = ipb.vars['base_url'] + 'app=core&module=ajax&section=search&do=saveForumsVncFilter&saveVncFilters=14,25,26,13,21,22,8,20,19,16,18' + '&secure_key='+ipb.vars['secure_hash'];
new Ajax.Request(_url, {
	method: 'get',
	onSuccess: function(t)
	{
		window.location = window.location;
		window.location.reload(true);
	}
});
});
</script>

  • Author

siv1987, спасибо! Работает.

 

А как сделать чтобы при повторном нажатии действие отменялось (возвращалось)? И как сделать чтобы ссылка отображалась, что она активна (подсвечивалась).

А как сделать чтобы при повторном нажатии действие отменялось (возвращалось)?

В качестве метке можно использовать vncPrefs из кеша пользователя. $vncPrefs['forums']['vnc_forum_filter'] не объявлен или имеет пустое значение когда выбраны все форумы.

 

<php>
$vncPrefs = IPSMember::getFromMemberCache( $this->memberData, 'vncPrefs' );
$vncPrefs = (! empty($vncPrefs['forums']['vnc_forum_filter'])) ? $vncPrefs['forums']['vnc_forum_filter'] : '';
</php>

 

var vncPrefs   = '{$vncPrefs}';
var vncFilters = vncPrefs ? 'all' : '14,25,26,13,21,22,8,20,19,16,18';
var _url = ipb.vars['base_url'] + 'app=core&module=ajax&section=search&do=saveForumsVncFilter&saveVncFilters=' + vncFilters + '&secure_key='+ipb.vars['secure_hash'];

  • 1 year later...

У меня что-то не работает этот метод... Или я не очень понял, как он работает :)

 

Это улучшение пункта "Фильтровать по форуму" что-ли?

Стартпост читали?

 

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

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.