- Совместимость с XenForo
- 2.2
- 2.3
- Видимый копирайт
- Нет
Добавлена новая переменная шаблона, $xf.itemsThisPage указывающая, сколько постов / медиа-элементов / ресурсов / и т.д. Показано на странице.
Это полезно в шаблонах, если вы хотите настроить отображение какого-либо элемента в зависимости от количества отображаемых там постов, тем или медиа-элементов.
Например, вы можете захотеть скрыть элемент из боковой панели в коротких темах (или на последней странице темы, где показаны только одна или две записи), чтобы боковая панель не была намного длиннее содержимого.
Пример использования:
Следующий код может использоваться при размещении рекламы на боковой панели, чтобы скрыть рекламу на страницах коротких тем.
Еще более простой способ
Если мы объединим этот аддон с аддоном Родительский шаблон, который дает нам сокращенный способ ссылаться на все различные типы тем и форумов в именах шаблонов, используя новую $xf.reply.templateParent переменную шаблона, мы сможем еще больше упростить приведенный выше пример:
Скрытие рекламы при отсутствии контента
Я использую следующий код в PropertyChat, чтобы скрыть рекламу, когда на странице нет контента:
... мы можем сделать это даже для рекламы уровня PAGE_CONTAINER , потому что, если значение $xf.itemsThisPage не определено , оно просто вернет null ... итак, используя $xf.itemsThisPage === 0, мы можем сказать "если оно определено и фактически равно нулю, то сделайте это" ... продолжая выполнять что-то еще на страницах, где оно не было определено, и, таким образом, возвращает null.
Это полезно в шаблонах, если вы хотите настроить отображение какого-либо элемента в зависимости от количества отображаемых там постов, тем или медиа-элементов.
Например, вы можете захотеть скрыть элемент из боковой панели в коротких темах (или на последней странице темы, где показаны только одна или две записи), чтобы боковая панель не была намного длиннее содержимого.
Пример использования:
Следующий код может использоваться при размещении рекламы на боковой панели, чтобы скрыть рекламу на страницах коротких тем.
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>
Еще более простой способ
Если мы объединим этот аддон с аддоном Родительский шаблон, который дает нам сокращенный способ ссылаться на все различные типы тем и форумов в именах шаблонов, используя новую $xf.reply.templateParent переменную шаблона, мы сможем еще больше упростить приведенный выше пример:
HTML:
<xf:if is="$xf.reply.templateParent == 'thread_view' && $xf.itemsThisPage <= 1">
<!-- show nothing -->
<xf:else />
<!-- show the item -->
</xf:if>
Скрытие рекламы при отсутствии контента
Я использую следующий код в PropertyChat, чтобы скрыть рекламу, когда на странице нет контента:
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.