![]() |
|
|
||||||||
| Инструкции для XenForo Различные инструкции и рекомендации по движку XenForo |
![]() |
|
|
Опции темы | Поиск в этой теме |
|
|
#1 | |||
|
Грамотный форумчанин
![]()
|
Код:
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пасибо: |