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

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

Captain, благодарю за помощь. А если слегка усложним задачу: выводим на главной форума количество тем из разделов (например, 2 и 3)
 
Я конечно не знаю, что вы там творите, тем более при системе виджетов. Да и чёткого объяснения, что вам нужно так же нету, так что как есть и публикуется.
96171
HTML:
<xf:foreach loop="$nodeExtras" key="$id" value="$child">
    <xf:if is="{$id} == 2">
        ID ноды = 2. Количество сообщений = [{{ $nodeExtras.{$id}.message_count }}]
    </xf:if>
    <xf:if is="{$id} == 3">
        <br/>
        ID ноды = 3. Количество сообщений = [{{ $nodeExtras.{$id}.message_count }}]
    </xf:if>
</xf:foreach>
 
Captain, есть раздел с ID = 2, в котором 5 тем и раздел с ID = 3, в котором 20 тем. Нужно вывести общее количество тем в них на главной странице форума. Из наших исходных данных, должно получится 25 тем. Вот чёткое объяснение, что мне изначально и нужно было сделать. Может неправильно формулировал ранее, за что извиняюсь.

Пробую Ваше решение, но что-то даже это не выводит. ?
 
25517, херню не неси.
Ислам,
HTML:
<xf:if is="{$post.position} % {$xf.options.messagesPerPage} == 2 OR {$post.position} % {$xf.options.messagesPerPage} == 4 OR {$post.position} % {$xf.options.messagesPerPage} == 6 AND !{$message.conversation_id}">
На держи будет работать 2, 4, 6
Ислам, оптимизировал код и куда удобнее и проще сделай так:
HTML:
<xf:if is="in_array($post.position % $xf.options.messagesPerPage, [2, 4, 6])">

post4ok,
Код:
<xf:foreach loop="$nodeExtras" key="$id" value="$child">
    <xf:if is="{$id} == 2">
        Количество сообщений в ноде 2 = [{$nodeExtras.2.message_count}]<br/>
        Количество сообщений в ноде 3 = [{$nodeExtras.3.message_count}]<br/>
        {{ $nodeExtras.2.message_count + $nodeExtras.3.message_count }}
    </xf:if>
</xf:foreach>

Можно и так:
Код:
Количество сообщений в ноде 2 = [{$nodeExtras.2.message_count}]<br/>
Количество сообщений в ноде 3 = [{$nodeExtras.3.message_count}]<br/>
{{ $nodeExtras.2.message_count + $nodeExtras.3.message_count }}
 
Последнее редактирование:
Captain, по написанному видно, то что надо. Только не отображается ничего почему-то. И в виджет пробовал запихивать, и в PAGE_CONTAINER.
По второму вариант просто выводит:
Количество сообщений в ноде 2 = []
Количество сообщений в ноде 3 = []
А по первому вообще ничего, пустое место.
 
forum_list если уж главная... Естественно в виджете или в PAGE_CONTAINER будут и условия другие
 
  • Мне нравится
Реакции: Hope
Captain, да, действительно, так работает. Только происходит вывод количества сообщений, а не тем (threads). Нужно именно тем количество, как и писал. Ну и если возможно, то для PAGE_CONTAINER или виджетов решение напишите, пожалуйста, чтобы в боковое меню можно было вывести. Спасибо большое за помощь
 
Так замените уже пару переменных сами, Вам готовый код дали, осталось чуть самостоятельно подумать.
 
Mirovinger, пробовал, но что-то не получилось ничего. ?
Буду благодарен за помощь ?
 
HTML:
Количество тем в ноде 2 = [{$nodeExtras.2.discussion_count}]<br/>
Количество тем в ноде 3 = [{$nodeExtras.3.discussion_count}]<br/>
{{ $nodeExtras.2.discussion_count + $nodeExtras.3.discussion_count }}
96211
Один вопрос зачем делать модификацию PAGE_CONTAINER? Вы знаете для чего хотя бы он?...
 
Captain, спасибо большое, то что надо. Только не догоняю, как в боковое меню например закинуть общее количество тем, там не отображается если через виджет добавить.

Один вопрос зачем делать модификацию PAGE_CONTAINER? Вы знаете для чего хотя бы он?...
Я перед {$sidebarHtml} выводил, чтобы в боковом меню отображалось без блоков, а просто открытым текстом. Но не суть. Можно в принципе, виджетами сделать, только в них так-то не отображается. ☺
 
... Ну значит ты не понимаешь логики виджеты и TMS.
 
Captain, и всё-таки) как в боковое меню например закинуть общее количество тем? Там не отображается если через виджет добавить.
 
96218
ЧЯДНТ?
Шаблон: forum_list
Ключ: на своё усмотрение
Найти: <xf:widgetpos id="forum_list_sidebar" position="sidebar" />
Заменить:
Код:
$0

<xf:sidebar key="myInfo">
    Количество тем в ноде 2 = [{$nodeExtras.2.discussion_count}]<br/>
    Количество тем в ноде 3 = [{$nodeExtras.3.discussion_count}]<br/>
    {{ $nodeExtras.2.discussion_count + $nodeExtras.3.discussion_count }}
</xf:sidebar>
Или наоборот $0 вставить в конце и в итоге будет в самом верху:
96219

Можно сделать модификацию шаблона виджета и вставлять код выше из существующих где есть обработка работы с форумом/разделами/нодами.
Можно написать свой виджет для обработки ноды.
Но вы не поняли их работу, где пиши как угодно, а оформление ты можешь не засовывать в блок...
Но можно и через PAGE_CONTAINER и виджеты используя $__globals, или через container. А узнать доступные переменные {{ dump(vars()) }}
 
Но можно и через PAGE_CONTAINER и виджеты используя $__globals, или через container. А узнать доступные переменные {{ dump(vars()) }}
Можно подробнее про это?
Пытаюсь в виджет "Статистика форума" добавить вывод количества тем, которое мы вывели в боковое меню. Но пол дня сегодня провозился, так и не получилось ничего. Думал, будет легче)

В шаблоне "widget_forum_statistics" пытался вывести, тоже не получилось. В общем, как только не пробовал, но в статистику форума запихнуть значение количества мне не получилось, уже всю голову сломал)

Думал сделать глобальную переменную, в неё запихнуть полученное значение, а потом мою переменную уже вывести в нужное место шаблона "widget_forum_statistics", но на XenForo что-то не получилось даже это сделать. Хотя здесь вроде и php..


Вот наглядный пример из Вашего скриншота Captain, что я пытаюсь сделать. После этой реализации у меня вопросов больше не будет))

96234
 
Последнее редактирование:
Можно подробнее про это?
Пытаюсь в виджет "Статистика форума" добавить вывод количества тем, которое мы вывели в боковое меню. Но пол дня сегодня провозился, так и не получилось ничего. Думал, будет легче)

В шаблоне "widget_forum_statistics" пытался вывести, тоже не получилось. В общем, как только не пробовал, но в статистику форума запихнуть значение количества мне не получилось, уже всю голову сломал)

Думал сделать глобальную переменную, в неё запихнуть полученное значение, а потом мою переменную уже вывести в нужное место шаблона "widget_forum_statistics", но на XenForo что-то не получилось даже это сделать. Хотя здесь вроде и php..


Вот наглядный пример из Вашего скриншота Captain, что я пытаюсь сделать. После этой реализации у меня вопросов больше не будет))

Посмотреть вложение 96234
А не виджет ли "Статистика форума" нужно редактировать чтобы туда добавить? Там ведь это всё находится, по логике код туда нуэно написать и будет вам счастье
 
BINGO_SHARK, Какой отдых, пусть арбайтен, пикачу не отдыхают)
 
ubrohack, добавлял туда код, но тогда наше количество не выводит. Просто 0 будет или пустое место.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу