Jump to content

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


ralf
 Share

Recommended Posts

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

 

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,

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

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

Link to comment
Share on other sites

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

В качестве метке можно использовать 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'];

Link to comment
Share on other sites

  • 1 year later...

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

 

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

Link to comment
Share on other sites

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

 

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

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...