Иконка ресурса

Условия переменных в шаблонах XenForo 2

Подскажите, пожалуйста, как сделать условие для вывода только на главной странице?

Гуглил долго и упорно, включая официальный форум. Варианты от версии 1.5 не работают (xen заменял xf, вообще пробовал много вариантов). Максимум пока такую конструкцию откопал/изобрел:

Код:
<xf:if is="{$forum.node_id} == 0">...</xf:if>

Текст выводится на главной, но скрыт в других разделах. Однако этот же текст выводится во Входящих, Оповещениях и пр.
 
Подскажите, пожалуйста, как сделать условие для вывода только на главной странице?

Гуглил долго и упорно, включая официальный форум. Варианты от версии 1.5 не работают (xen заменял xf, вообще пробовал много вариантов). Максимум пока такую конструкцию откопал/изобрел:

Код:
<xf:if is="{$forum.node_id} == 0">...</xf:if>

Текст выводится на главной, но скрыт в других разделах. Однако этот же текст выводится во Входящих, Оповещениях и пр.
Пробежался поверхностно по переменной $xf и увидел еще вот такой вариант. (В общем можно проверять ссылку или роутинг)....

Код:
<xf:if is="{$xf.uri} == '/'">
    Это только на главной, на остальных страницах не выводится. (При ЧПУ)
</xf:if>

<xf:if is="{$xf.uri}" == '/index.php'">
    Это только на главной, на остальных страницах не выводится. (Без ЧПУ)
</xf:if>

Но это такой же самый костыль как и у вас, за исключением что работает как надо.

UPD: forum_list?
 
Последнее редактирование:
Не извращайтесь, всегда для этого использовался шаблон главной страницы :)
PHP:
<xf:if is="{$template} == 'forum_list'">
    Этот текст будет показан на главной
</xf:if>
 
Не извращайтесь, всегда для этого использовался шаблон главной страницы :)
PHP:
<xf:if is="{$template} == 'forum_list'">
    Этот текст будет показан на главной
</xf:if>
Ну, если юзер изменил страницу по умолчанию, то там будет [new_posts], а в целом извращение тоже)
 
Spark108, работает, спасибо! Нормальное решение, по урлу чекает.

forum_list, конечно же, я пробовал десятком способов. Не хочет работать. Стандартный форум, на главной разделы, никаких плагинов.
 
У каждой страницы есть шаблон и его всегда можно указать, так же в массиве указывается несколько страниц.
С ссылкой проблем меньше, главная страница, она есть главная. (Да и запись короче).
 
forum_list, конечно же, я пробовал десятком способов. Не хочет работать.
Значит у тебя не forum_list, в исходном коде всегда можно глянуть
Image 2.png

С ссылкой проблем меньше, главная страница, она есть главная. (Да и запись короче).
Не знаю, по мне лучше указывать конкретно, чем условно :) убрал что, форум не в корневой папке :)
 
Я просто кучу возможностей расписал и читайте ресурс там есть все
 
Здравствуйте. Нужно условие: не отображать контент от пользователя вася гостям, отображать только авторизирвоанным.
Спасибо за помощь. Здесь пересмотрел условия, ничего подобного не нашёл.
Повозился и получилось так:
PHP:
<xf:if is="$resource.canDownload() && $xf.visitor.user_id || $resource.username != 'Вася' && !$xf.visitor.user_id">
Проверял, у меня работает.
Может код неадекватный, но, как бы не смотрел, работает только так. Просьба указать на ошибку(и):coffee:
 
Последнее редактирование:
Я бы привязывался к id пользователя, а не его нику, так надежнее.
 
Smalesh,
Код:
$resource.user_id != '9'
Так?
А в чем ненадежность имени?
 
Повозился и получилось так:
PHP:
<xf:if is="$resource.canDownload() && $xf.visitor.user_id || $resource.username != 'Вася' && !$xf.visitor.user_id">
Проверял, у меня работает.
Может код неадекватный но как бы не смотрел работает только так. Просьба указать на ошибку(и):coffee:
Смысл проверять $xf.visitor, если $resource.canDownload() и так все это сделает (Вы не подумали выставить запрет на загрузку группе "Гость"?), далее $resource.username != 'Вася' && !$xf.visitor.user_id - более лучше будет так !$xf.visitor && $resource.user_id != 5 (При условии что "Вася" имеет ID 5), следовательно:
HTML:
<xf:if is="$resource.canDownload() || !$xf.visitor && $resource.user_id != 5">
Этот текст будут видеть все кому разрешена загрузка,
а так же, он будет виден, если пользователь является гостем, но при условии что автор не является "Вася".
</xf:if>
P/S А вообще я толком не понял в чем тут прикол.
 
Последнее редактирование:
Для разделов форума - <xf:if is="{$forum.node_id} == 68">
А для разделов ресурсов как?
 
В какое место шаблона PAGE_CONTAINER необходимо вставлять код для сайдбара
Код:
<xf:if is="{$forum.node_id} == 6">
                   <div class="p-body-sideNav">
                    <div class="p-body-sideNavContent">
                        Этот текст будет показан в форуме 6
                    </div>
                </div>
</xf:if>
Чтобы заголовок был на своем месте, а не как во вложении? Сейчас код на 466 строчке, после
Код:
<div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav' : '' }}">
 

Вложения

  • vF9i4UY.png
    vF9i4UY.png
    9.8 KB · Просмотры: 37
Что Вы вообще пытаетесь сделать?
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу