|
|
Инструкции для XenForo Различные инструкции и рекомендации по движку XenForo |
|
Опции темы | Поиск в этой теме |
04.05.2015, 15:04 Вверх | #1 | |||
Грамотный форумчанин
|
Условия в шаблонах Xenforo
Код:
http://xenforo.com/community/resources/conditional-statements.1604/ Авторы перевода: adder и Romchik® Источник : Код:
http://www.xf-russia.ru/forum/threads/uslovija-v-shablonax.7878/ Замена == на != в примерах ниже будет менять условие с положительного на отрицательное. Код:
К примеру, <xen:if is="{$visitor.user_id} == x"> является положительным, а <xen:if is="{$visitor.user_id} != x"> отрицательным. Код:
К примеру, <xen:if is="{$visitor.user_id}"> является положительным, а <xen:if is="!{$visitor.user_id}"> уже будет отрицательным. Код:
К примеру, <xen:if is="in_array({$forum.node_id}, array(x, y, z))"> будет положительным, а <xen:if is="!in_array({$forum.node_id}, array(x, y, z))"> отрицательным. Код:
Самая проста форма использования xen:else выглядит так: <xen:if is="{$forum.node_id} == x"> Этот контент будет показан в форуме x <xen:else /> Этот контент будет показан в любом другом месте </xen:if> Код:
<xen:if is="{$forum.node_id} == x"> Этот контент будет показан в форуме x <xen:elseif is="{$forum.node_id} == y" /> Этот контент будет показан в форуме y <xen:elseif is="{$forum.node_id} == z" /> Этот контент будет показан в форуме z <xen:else /> Этот контент будет показан в любом другом месте </xen:if> При работе с шаблоном PAGE_CONTAINER можно передавать переменные из шаблонов представления (category_view, forum_view, thread_view и т.д.), используя xen:container. Это справедливо ко всем шаблонам, которые подключаются к шаблону PAGE_CONTAINER (допустим, шаблоны header или ad_header). Например, чтобы использовать переменную $forum.node_id, нужно добавить в шаблон следующее: Код:
<xen:container var="$forumId">{$forum.node_id}</xen:container>. Точно так же, для переменной $threadId нужно добавить следующее: <xen:container var="$threadId">{$thread.thread_id}</xen:container>. Отображение содержимого только авторизованным пользователям (не показывать гостям): Код:
<xen:if is="{$visitor.user_id}"> Содержимое видно только авторизованным пользователям </xen:if> Код:
<xen:if is="!{$visitor.user_id}"> Содержимое видно только гостям </xen:if> Код:
<xen:if is="{$visitor.user_id}"> Это содержимое видно только авторизованным пользователям <xen:else /> Это содержимое видно только гостям </xen:if> Код:
<xen:if is="{xen:helper ismemberof, $visitor, X}"> Это содержимое видно только группе с ID=X </xen:if> Код:
<xen:if is="!{xen:helper ismemberof, $visitor, X}"> Это содержимое скрыто от группы с ID=X </xen:if> Отображение содержимого нескольким группам пользователей: Код:
<xen:if is="{xen:helper ismemberof, $visitor, X, Y}"> Это содержимое видно только группам с ID=X и ID=Y </xen:if> Скрытие содержимого от нескольких групп пользователей: Код:
<xen:if is="!{xen:helper ismemberof, $visitor, X, Y}"> Это содержимое скрыто от групп с ID=X и ID=Y </xen:if> Отображение содержимого только администраторам: Код:
<xen:if is="{$visitor.is_admin}"> Это содержимое видно только администраторам </xen:if> Отображение содержимого только модераторам: Код:
<xen:if is="{$visitor.is_moderator}"> Это содержимое видно только модераторам </xen:if> Отображение содержимого только администраторам и модераторам: Код:
<xen:if is="{$visitor.is_admin} OR {$visitor.is_moderator}"> Это содержимое видно толькоадминистраторам и модераторам </xen:if> Отображение содержимого только определенному пользователю: Код:
<xen:if is="{$visitor.user_id} == X"> Это содержимое видно только пользователю с ID=X </xen:if> Отображение содержимого нескольким пользователям: Код:
<xen:if is="in_array({$visitor.user_id}, array(X, Y, Z))"> Это содержимое видно только пользователям с ID=X, ID=Y и ID=Z. </xen:if> Отображение содержимого после первого сообщения в теме: Код:
<xen:if is="{$post.position} == 0"> Это содержимое видно после первого сообщения в теме </xen:if> Отображение содержимого после первого сообщения в теме или личной переписке: Код:
<xen:if is="{$post.position} == 0 AND !{$message.conversation_id}"> Это содержимое видно после первого сообщения в теме или личной переписке </xen:if> Отображение содержимого после X сообщений в теме на каждой странице: Код:
<xen:if is="{$post.position} % {$xenOptions.messagesPerPage} == X AND !{$message.conversation_id}"> Это содержимое видно после X сообщений в теме на каждой странице </xen:if> Отображение содержимого после X сообщений в теме или личной переписке на каждой странице: Код:
<xen:if is="{$post.position} % {$xenOptions.messagesPerPage} == X"> Это содержимое видно после X сообщений в теме или личной переписке на каждой странице </xen:if> Отображение содержимого после X сообщений в теме на каждой странице, только в разделах Y или Z: Код:
<xen:if is="{$post.position} % {$xenOptions.messagesPerPage} == X AND in_array({$thread.node_id}, array(Y, Z))"> Это содержимое видно после X сообщений в теме на каждой странице, только в разделах Y и Z </xen:if> Отображение содержимого после X сообщений в теме на каждой странице, кроме разделов Y и Z: Код:
<xen:if is="{$post.position} % {$xenOptions.messagesPerPage} == x AND !in_array({$thread.node_id}, array(Y, Z))"> Это содержимое видно после X сообщений в теме на каждой странице, кроме разделов Y и Z </xen:if> Отображение содержимого только на определенных страницах: Код:
<xen:if is="{$contentTemplate} == 'XYZ'"> Это содержимое видно только на странице XYZ </xen:if> Отображение содержимого только в определенной категории: Код:
<xen:if is="{$category.node_id} == X"> Это содержимое видно только в категории X </xen:if> Панель администратора -> Настройки -> Список разделов форума и узлов. Отображение содержимого только в определенном разделе: Код:
<xen:if is="{$forum.node_id} == X"> Это содержимое видно только в разделе X </xen:if> Отображение содержимого только в нескольких определенных разделах: Код:
<xen:if is="in_array({$forum.node_id}, array(X, Y, Z))"> Это содержимое видно только в разделах X, Y и Z </xen:if> Отображение содержимого только в определенной теме: Код:
<xen:if is="{$threadId} == X"> Это содержимое видно только в теме X </xen:if> Отображение содержимого только в нескольких определенных темах: Код:
<xen:if is="in_array({$threadId}, array(X, Y, Z))"> Это содержимое видно только в темах X, Y и Z </xen:if> Отображение содержимого только в определенном сообщении: Код:
<xen:if is="{$postId} == X"> Это содержимое видно только в сообщении X </xen:if> Отображение содержимого только в нескольких определенных сообщениях: Код:
<xen:if is="in_array({$postId}, array(X, Y, Z))"> Это содержимое видно только в сообщениях X, Y и Z </xen:if> Отображение содержимого если автор сообщения является автором темы: Код:
<xen:if is="{$post.user_id} == {$thread.user_id}"> Это содержимое видно если автор является автором темы </xen:if> Код:
<xen:if is="{$visitor.message_count} == 0"> Это содержимое видно только пользователям, у которых 0 сообщений </xen:if> Отображение содержимого пользователям, у которых более X сообщений: Код:
<xen:if is="{$visitor.message_count} > X"> Это содержимое видно только пользователям, у которых более X сообщений </xen:if> Код:
<xen:if is="{$visitor.message_count} < X"> Это содержимое видно только пользователям, у которых менее X сообщений </xen:if> Отображение содержимого пользователям, которые не подтвердили свой почтовый адрес: Код:
<xen:if is="{$isAwaitingEmailConfirmation}"> Это содержимое видно только пользователям, которые не подтвердили свой почтовый адрес </xen:if> Код:
<xen:if is="{$visitor.from_search}"> Это содержимое видно только пользователям, которые пришли с поисковых систем </xen:if> Условия найденные мной [ДикиЙ]: Отображение содержимого если автор сообщения определённый id [через запятую] Код:
<xen:if is="in_array({$post.user_id} , array(id пользователя))"> Личность </xen:if> |
|||
Cказали cпасибо: |