Решено Перенаправление группы пользователей

Статус
В этой теме нельзя размещать новые ответы.

Badboy

Проверенные
Сообщения
196
Реакции
31
Баллы
28,525
На версии Xenforo 1.х у меня была реализована одна интересная функция, определенная группа перенаправлялась автоматически на другой сайт. Что то вроде функции "нежелательный пользователь", но немного интереснее. Реализовано все было просто, в шаблон header просто добавил код
PHP:
<xen:if is="{xen:helper ismemberof, $visitor,6}">
<meta HTTP-EQUIV="REFRESH" content="0;url=https://www.google.ru/">
</xen:if>
$visitor,6 - это номер перенаправляемой группы
url= - сайт куда перенаправлялась группа

Но на второй версии Xenforo это уже не работает. Точнее перенаправление работает, но перенаправляет всех кто авторизовался на форуме вне зависимости от группы.
Может кто нибудь подсказать как подправить под вторую версию, видимо дело в переменных.
 
PHP:
<xf:if is="{ $xf.visitor.isMemberOf(6) }">
<meta HTTP-EQUIV="REFRESH" content="0;url=https://www.google.ru/">
</xf:if>
 
Последнее редактирование модератором:
Отвечу с "небольшим" запозданием, но по факту. Все эти переменные отвечают либо за вывод определенного текста, либо за его скрытие. За перенаправление пользователя или группы ни одна из переменных не отвечает. Благодарю за желание помочь, но мимо.
 
За перенаправление пользователя или группы ни одна из переменных не отвечает
Редирект идет за счет атрибута , следовательно условие нужно пихать в <head> в шаблоне PAGE_CONTAINER. Вот тут меня гложет сомнение, видна ли $xf.visitor.блабла на в этом шаблоне.
 
Редирект идет за счет атрибута , следовательно условие нужно пихать в <head> в шаблоне PAGE_CONTAINER. Вот тут меня гложет сомнение, видна ли $xf.visitor.блабла на в этом шаблоне.
.$xf доступна во всех шаблонах.

Отвечу с "небольшим" запозданием, но по факту. Все эти переменные отвечают либо за вывод определенного текста, либо за его скрытие. За перенаправление пользователя или группы ни одна из переменных не отвечает. Благодарю за желание помочь, но мимо.
Не мимо, просто Вы не понимаете смысла всего описанного там. И там есть про то, как отобразить содержимое для определенных групп, вот это условие Вам и нужно.
 
Последнее редактирование модератором:
И там есть про то, как отобразить содержимое для определенных групп, вот это условие Вам и нужно.
вот переменная которая отвечает за условие группы пользователей isMemberOf(x)
далее смотрим на тот код который использовался в шаблоне
PHP:
<xf:if is="{ $xf.visitor.isMemberOf(6) }">
<meta HTTP-EQUIV="REFRESH" content="0;url=https://www.google.ru/">
</xf:if>
переводя его на человеческий язык мы получаем следующее:
xf:if is (если) $xf.visitor.isMemberOf(6)(пользователь находится в группе 6
HTTP-EQUIV(перенаправлять) content="0;url= "(адрес перенаправления)
При добавлении этого кода в <head> в PAGE_CONTAINER приводит к ошибке "Упс! Мы столкнулись с некоторыми проблемами. Строка 2: Ожидаемое допустимое выражение."
Из этого можно сделать вывод
.$xf доступна во всех шаблонах.
1 - не работает во всех шаблонах.
2 -
Вы не понимаете смысла всего описанного там
Прошу Вас конкретно ткнуть носом в ту часть, где допущена ошибка, либо ткунуть носом именно в ту переменную которая мне нужна.
По сути с выходом XF2 перемены произошли в переменных, остальная часть кода остается рабочей и будет работать на любом движке.
 
West14, А потому что, все ждут готовый ответ, дашь наводку, а не говорят не работает, тупо не посмотрев что вставляют. Нуне так не получится работать.
 
West14, Реально помогло, от души спасибо.
artscripts, ну ты же сам написал с пробелами
PHP:
<xf:if is="{ $xf.visitor.isMemberOf(6) }">
<meta HTTP-EQUIV="REFRESH" content="0;url=https://www.google.ru/">
</xf:if>
или не так?
Дальше переходим по указанной ссылке и ищем переменные для группы и видим там
PHP:
<xf:if is="{{ $xf.visitor.isMemberOf(x) }}">
Этот текст видят только пользователи из группы x
</xf:if>
опана и снова пробелы!
Далее смотри родной код шаблона, ну например этот кусок
PHP:
<xf:macro template="metadata_macros" name="title" arg-title="{{ page_title() ?: $siteName }}" arg-output="{{ true }}" />
Вау! Да тут снова пробелы!.
Так что да, спасибо поняли.
West14, А потому что, все ждут готовый ответ, дашь наводку, а не говорят не работает, тупо не посмотрев что вставляют. Нуне так не получится работать.
 
Badboy, Вы так ничего и не поняли, первая мысль у вас должна была уйти на то чтобы заглянуть на гайд по ссылке, понять что так не работает и логически попробовать убрать пробелы. Но прошло пол года а воз и ныне там.
 
Или так
Код:
<xf:if is="{$xf.visitor.isMemberOf(6)}">
или так
Код:
<xf:if is="{{ $xf.visitor.isMemberOf(6) }}">
или
Код:
<xf:if is="$xf.visitor.isMemberOf(6)">
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу