Условия в шаблонах XenForo

Представляю список условий, которые можно использовать в шаблонах XenForo. Все возможные условия перечислить затруднительно, потому что существует множество различных вариантов фильтрации и выборки информации. Здесь представлены наиболее популярные варианты.

С этой статьи я начинаю попытку восстановления накопленных данных за период моей деятельности в качестве исследователя и разработчика веб-приложений.

  1. Отображение информации только администраторам.
<xf:if is="$xf.visitor.is_admin">
<!-- content -->
</xf:if>
  1. Отображение информации только модераторам.
<xf:if is="$xf.visitor.is_moderator">
<!-- content -->
</xf:if>
  1. Отображение информации только администраторам и модераторам.
<xf:if is="$xf.visitor.is_admin OR $xf.visitor.is_moderator">
<!-- content -->
</xf:if>
  1. Отображение информации только зарегистрированному пользователю
<xf:if is="$xf.visitor.user_id">
<!-- content -->
</xf:if>
  1. Отображение информации гостю.
<xf:if is="!$xf.visitor.user_id">
<!-- content -->
</xf:if>
  1. Отображение разной информации зарегистрированному пользователю и гостю.
<xf:if is="!$xf.visitor.user_id">
<!-- content for members -->
<xf:else />
<!-- content for guests -->
</xf:if>
  1. Отображение информации только заблокированным пользователям.
<xf:if is="$user.is_banned">
<!-- content -->
</xf:if>
  1. Отображение информации только если у пользователя симпатий больше определённого количества.
<xf:if is="$user.like_count|number > X">
<!-- content -->
</xf:if>
  1. Отображение информации только если у пользователя сообщений больше определённого количества.
<xf:if is="{$xf.visitor.message_count|number} > X">
<!-- content -->
</xf:if>
  1. Отображение информации только если у пользователя очков больше определённого количества.
<xf:if is="$user.trophy_points|number > X">
<!-- content -->
</xf:if>
  1. Отображение информации определённому пользователю.
<xf:if is="$xf.visitor.user_id == X">
<!-- content -->
</xf:if>
  1. Отображение информации определённым пользователям.
<xf:if is="in_array($xf.visitor.user_id, [X, Y, Z])">
<!-- content -->
</xf:if>
  1. (1) Отображение информации определённым группам пользователей.
<xf:if is="{{$xf.visitor.isMemberOf([X, Y])}}">
<!-- content -->
</xf:if>
  1. (2) Отображение информации определённой группе пользователей.
<xf:if is="{{$xf.visitor.isMemberOf(X)}}">
<!-- content -->
</xf:if>
  1. (1) Скрытие информации от определённых групп пользователей.
<xf:if is="{{!$xf.visitor.isMemberOf([X, Y])}}">
<!-- content -->
</xf:if>
  1. (2) Скрытие информации от определённой группы пользователей.
<xf:if is="{{!$xf.visitor.isMemberOf(X)}}">
<!-- content -->
</xf:if>
  1. (1) Отображение информации после первого сообщения в теме.
<xf:if is="$post.position % $xf.options.messagesPerPage == 0">
<!-- content -->
</xf:if>
  1. (2) Отображение информации через определённое количества сообщений.
<xf:if is="$post.position % $xf.options.messagesPerPage == X">
<!-- content -->
</xf:if>
  1. Отображение информации на странице, на которой присутствует боковая панель.
<xf:if is="$sidebar">
<!-- content -->
</xf:if>
  1. Отображение информации на главной (домашней) странице форума.
<xf:if is="$template == 'forum_list'">
<!-- content -->
</xf:if>
  1. Скрытие информации только с главной (домашней) странице форума.
<xf:if is="$template !== 'forum_list'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице создания новой темы.
<xf:if is="$template == 'forum_post_thread'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице создания новой темы.
<xf:if is="$template != 'forum_post_thread'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице создания нового ресурса.
<xf:if is="$template == 'xfrm_category_add_resource'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице создания нового ресурса.
<xf:if is="$template != 'xfrm_category_add_resource'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице поисковой формы.
<xf:if is="$template == 'search_form'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице поисковой формы.
<xf:if is="$template != 'search_form'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице “Что нового?”.
<xf:if is="$template == 'whats_new'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице “Что нового?”.
<xf:if is="$template != 'whats_new'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице просмотра личной переписки.
<xf:if is="$template == 'conversation_view'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице просмотра личной переписки.
<xf:if is="$template != 'conversation_view'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице просмотра списка личных переписок.
<xf:if is="$template == 'conversation_list'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице просмотра списка личных переписок.
<xf:if is="$template != 'conversation_list'">
<!-- content -->
</xf:if>
  1. Отображение информации на главной странице ресурсов.
<xf:if is="$template == 'xfrm_overview'">
<!-- content -->
</xf:if>
  1. Скрытие информации на главной странице ресурсов.
<xf:if is="$template != 'xfrm_overview'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице просмотра ресурса.
<xf:if is="$template == 'xfrm_resource_view'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице просмотра ресурса.
<xf:if is="$template != 'xfrm_resource_view'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице просмотра темы.
<xf:if is="$template == 'thread_view'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице просмотра темы.
<xf:if is="$template !='thread_view'">
<!-- content -->
</xf:if>
  1. Отображение информации на странице просмотра форума (раздела).
<xf:if is="$template =='forum_view'">
<!-- content -->
</xf:if>
  1. Скрытие информации на странице просмотра форума (раздела).
<xf:if is="$template != 'forum_view'">
<!-- content -->
</xf:if>
  1. Отображение информации “наказанным” пользователям.
<xf:if is="{$xf.visitor.Option.is_discouraged}">
<!-- content -->
</xf:if>
  1. Отображение информации пользователям, которые имеют Gravatar.
<xf:if is="{$xf.visitor.gravatar}">
<!-- content -->
</xf:if>
  1. Отображение информации пользователям поддержки форума.
<xf:if is="{$xf.visitor.is_staff}">
<!-- content -->
</xf:if>
  1. Отображение информации пользователям без подтверждённого адреса e-mail.
<xf:if is="{$xf.visitor.isAwaitingEmailConfirmation()}">
<!-- content -->
</xf:if>
  1. Отображение информации в нескольких форумах (разделах).
<xf:if is="in_array({$forum.node_id}, [X, Y, Z])">
<!-- content -->
</xf:if>
  1. Скрытие информации в нескольких форумах (разделах).
<xf:if is="in_array($forum.node_id, [X, Y, Z])">
<!-- content -->
</xf:if>
  1. Отображение информации в определённом форуме (разделе).
<xf:if is="$forum.node_id == X">
<!-- content -->
</xf:if>
  1. Скрытие информации в определённом форуме (разделе).
<xf:if is="$forum.node_id != 3">
<!-- content -->
</xf:if>
  1. Отображение информации только после первого сообщения в каждой теме.
<xf:if is="{$post.position} % {$xf.options.messagesPerPage} == 1">
<!-- content -->
</xf:if>
  1. Отображение информации только внутри первого сообщения в каждой теме.
<xf:if is="{$post.position} % {$xf.options.messagesPerPage} == 0">
<!-- content -->
</xf:if>
  1. Отображение информации только при заполненном поле местоположения.
<xf:if is="{$xf.visitor.location}">
<!-- content -->
</xf:if>
  1. Отображение информации только при заполненном поле веб-сайта.
<xf:if is="{$xf.visitor.website}">
<!-- content -->
</xf:if>
  1. Отображение информации при указанной подписи.
<xf:if is="{$xf.visitor.signature}">
<!-- content -->
</xf:if>
  1. Отображение информации только активированным пользователям.
<xf:if is="{$xf.visitor.user_state} == 'valid'">
<!-- content -->
</xf:if>
  1. Отображение информации только пользователям, ожидающим подтверждения адреса e-mail.
<xf:if is="{$xf.visitor.user_state} == 'email_confirm_edit'">
<!-- content -->
</xf:if>
  1. Отображение информации только пользователям с проблемным адресом e-mail.
<xf:if is="{$xf.visitor.user_state} == 'email_bounce'">
<!-- content -->
</xf:if>
  1. Отображение информации, если ID пользователя = ID автора темы.
<xf:if is="{$__globals.thread} AND {$__globals.thread.user_id} == {$user.user_id}">
<!-- content -->
</xf:if>
  1. Отображение информации пользователю, который является автором темы.
<xf:if is="{$thread.user_id} == {$xf.visitor.user_id}">
<!-- content -->
</xf:if>

Источники:

Meta

  • ID файла
  • cd9d952ffd694bc5940e429277c25f00
  • UUID
  • 41205b63-2b6e-52f9-bccb-a3f84c59b4ec
  • Системный путь
  • post/2020/07/0001/index.md
  • Тип
  • post
  • Количество слов
  • 895
  • Время чтения (мин.)
  • 5

Смотрите также