Решено Вывод статистики через бд на форум.

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
2.2.5

Shadow228

Проверенные
Сообщения
31
Реакции
21
Баллы
70
Всем привет, прошу небольшой помощи, есть плагин который выводит статистику с базы данных на форум при помощи php. Проблема заключается в следующим, вывел новую стату кланов, все работает нормально. Только вот хочу добавить дополнительное поле, которое будет показывать заместителя клана, ну когда его прописываешь, то к сожалению выводиться только пустой поле. Owner и help_owner из базы данных выводят id пользователей на форуме.

1641310165583.png
1641310192262.png

Код:
<xf:title>{{ phrase('w_csf_ranks') }}</xf:title>

<div class="block block-csfRanks">
    <div class="block-container">
        <div class="block-body">
            <xf:datalist>
                <xf:datarow rowtype="header">
                    <xf:cell>{{ phrase('Владелец клана') }}</xf:cell>
                    <xf:cell>{{ phrase('Заместитель клана') }}</xf:cell>
                    <xf:cell href="{{ csf_stats_link('ranks', 'name', $direction, $order == 'name') }}">
                        {{ phrase('Название клана') }}
                    </xf:cell>
                    <xf:cell href="{{ csf_stats_link('ranks', 'level', $direction, $order == 'level') }}">
                        {{ phrase('Уровень клана') }}
                    </xf:cell>
                    <xf:cell href="{{ csf_stats_link('ranks', 'money', $direction, $order == 'money') }}">
                        {{ phrase('Общак') }}
                    </xf:cell>
                </xf:datarow>               
                <xf:foreach loop="$stats" value="$stat">
                    <xf:datarow>
                        <xf:cell>
                            <xf:avatar size="xxs" user="{$users.{$stat.owner}}" />
                            <xf:username user="{$users.{$stat.owner}}" rich="true" />
                        </xf:cell>
                        <xf:cell>
                            <xf:avatar size="xxs" user="{$users.{$stat.help_owner}}" />
                            <xf:username user="{$users.{$stat.help_owner}}" rich="true" />
                        </xf:cell>
                        <xf:cell>{{ $stat.name }}</xf:cell>
                        <xf:cell>{{ $stat.level|number }}</xf:cell>
                        <xf:cell>{{ $stat.money|number }}</xf:cell>
                    </xf:datarow>
                </xf:foreach>
            </xf:datalist>
        </div>
    </div>
</div>

<xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}"
            link="ranks" params="{$pageParams}" />
 
Решение
Shadow228, написал бы мне в телеге, раз мой плаг колупаешь, я не кусаюсь.
Чтобы закрыть вопрос таки отвечу тут.
Проблема вероятнее всего возникает ввиду того, что в списке users отсутствуют "заместители". Можно перепилить абстракцию, можно - доп. запросом вытащить ещё заместителей и вмержить в вышеупомянутый список. Тогда должно нормализоваться.

Сделано это было, чтобы избежать N+1 запроса на каждого юзера, т.к. джоинами их не вытянуть, ибо базы-то разные.
Shadow228, написал бы мне в телеге, раз мой плаг колупаешь, я не кусаюсь.
Чтобы закрыть вопрос таки отвечу тут.
Проблема вероятнее всего возникает ввиду того, что в списке users отсутствуют "заместители". Можно перепилить абстракцию, можно - доп. запросом вытащить ещё заместителей и вмержить в вышеупомянутый список. Тогда должно нормализоваться.

Сделано это было, чтобы избежать N+1 запроса на каждого юзера, т.к. джоинами их не вытянуть, ибо базы-то разные.
 
Последнее редактирование:
Так вы ручками то сделайте дамп переменных и посмотрите какие значения там
Спасибо, более менее разобрался, но нужно копать и копать)

Shadow228, написал бы мне в телеге, раз мой плаг колупаешь, я не кусаюсь.
Чтобы закрыть вопрос таки отвечу тут.
Проблема вероятнее всего возникает ввиду того, что в списке users отсутствуют "заместители". Можно перепилить абстракцию, можно - доп. запросом вытащить ещё заместителей и вмержить в вышеупомянутый список. Тогда должно нормализоваться.

Сделано это было, чтобы избежать N+1 запроса на каждого юзера, т.к. джоинами их не вытянуть, ибо базы-то разные.
Не стал беспокоить по всяким пустякам, надо же самому додумываться)

Можно закрыть, спасибо всем ещё раз!
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу