- Совместимость с XenForo
- XF 2.2
- XF 2.3
- Видимый копирайт
- Нет
Добавляет новую переменную шаблона
Это полезно в шаблонах, если вы хотите настроить отображение какого-либо элемента в зависимости от того, сколько постов, тем или медиа-элементов отображается на странице.
Например, вы можете захотеть скрыть элемент боковой панели в коротких темах (или на последней странице темы, где отображаются только одна или две записи), чтобы боковая панель не была намного длиннее содержимого.
Пример использования:
Следующий код может быть использован при размещении рекламы на боковой панели, чтобы скрыть рекламу на страницах с короткими темами
Еще более простой способ
Если мы объединим это дополнение с родительским дополнением Template, которое дает нам сокращенный способ ссылаться на все различные типы тем и форумов в именах шаблонов, используя новую переменную шаблона
Скрытие рекламы при отсутствии контента
Я использую следующий код в Property Chat, чтобы скрыть рекламу при отсутствии контента на странице:
... мы можем сделать это даже для рекламы на уровне PAGE_CONTAINER, потому что если
$xf.itemsThisPage,
которая определяет, сколько постов/ медиа-элементов/ресурсов/и т.д. отображается на странице.Это полезно в шаблонах, если вы хотите настроить отображение какого-либо элемента в зависимости от того, сколько постов, тем или медиа-элементов отображается на странице.
Например, вы можете захотеть скрыть элемент боковой панели в коротких темах (или на последней странице темы, где отображаются только одна или две записи), чтобы боковая панель не была намного длиннее содержимого.
Пример использования:
Следующий код может быть использован при размещении рекламы на боковой панели, чтобы скрыть рекламу на страницах с короткими темами
HTML:
<xf:if is="in_array($xf.reply.template, [
'thread_view',
'thread_view_type_article',
'thread_view_type_poll',
'thread_view_type_question',
'thread_view_type_suggestion'
]) && $xf.itemsThisPage <= 1">
<!-- show nothing -->
<xf:else />
<!-- show the item -->
</xf:if>
Еще более простой способ
Если мы объединим это дополнение с родительским дополнением Template, которое дает нам сокращенный способ ссылаться на все различные типы тем и форумов в именах шаблонов, используя новую переменную шаблона
$xf.reply.templateParent
, мы сможем еще больше упростить приведенный выше пример:
HTML:
<xf:if is="$xf.reply.templateParent == 'thread_view' && $xf.itemsThisPage <= 1">
<!-- show nothing -->
<xf:else />
<!-- show the item -->
</xf:if>
Скрытие рекламы при отсутствии контента
Я использую следующий код в Property Chat, чтобы скрыть рекламу при отсутствии контента на странице:
HTML:
<xf:if is="$xf.itemsThisPage === 0">
<!-- show nothing -->
<xf:else />
<!-- show the item -->
</xf:if>
... мы можем сделать это даже для рекламы на уровне PAGE_CONTAINER, потому что если
$xf.itemsThisPage
не определен, он просто вернет значение null ... таким образом, используя $xf.itemsThisPage === 0
, мы можем сказать: "если оно определено и на самом деле равно нулю, то сделайте это" ... при этом продолжая выполнять что-то еще на страницах, где оно не было определено, и, следовательно, возвращает значение null.