Вывод статистики в виджет TbHighCharts

Вопросы по работе Юпи! и отдельных модулей

Модератор: core team

maraterl
Специалист
Сообщения: 78
Зарегистрирован: Ср июн 17, 2015 9:18 am

Вывод статистики в виджет TbHighCharts

Сообщение maraterl » Вс май 07, 2017 10:10 pm

Добрый день, возникла необходимость на сайте вывести количество пользователей в виде графики. За основу взял виджет TbHighCharts
В директории protected\modules\user\widgets есть файл PanelUserStatWidget.php, который выводит данные в файл panel-stat.php
И на сайт можно вывести этот виджет так:

Код: Выделить всё

<?php $this->widget('application.modules.user.widgets.PanelUserStatWidget'); ?>

В файле panel-stat.php есть переменная $allUsersCnt, которая считает пользователей. Далее эту переменную вставляю в виджет который находится в файле site/index.php:

Код: Выделить всё

<?php
$this->widget(
    'booster.widgets.TbHighCharts',
    array(
        'options' => array(
            'title' => array(
                'text' => 'Статистика',
                'x' => -20 //center
            ),
            'subtitle' => array(
                'text' => 'Статистика,
                'x' -5
            ),
         'chart' => array(
            'type' => 'column'
         ),
            'xAxis' => array(
                'categories' => ['Количество пользователей'],
            'title' => array(
               'text' =>  'Источник:',
               'align' => 'high'
            ),
            'labels' => array(
               'rotation' => 0,
               'style' => array(
                  'fontSize' => '12px'
               )
            )
            ),
            'yAxis' => array(
                'title' => array(
                    'text' =>  '',
               
                ),
                'plotLines' => [
                    [
                        'value' => 0,
                        'width' => 1,
                        'color' => '#808080'
                    ]
                ],
            ),
            'tooltip' => array(
                'headerFormat' => '<span style="font-size:11px">{series.name}</span><br>',
                'pointFormat' => '<span style="color:{point.color}">{point.name}</span>: <b>{point.y}</b>'
            ),
            'legend' => array(
                'enabled' => false
            ),
            'series' => array(
                [
                    'name' => 'Статистика',
                    'colorByPoint' => true,
                    'data' => [
                  ['Количество пользователей', $allUsersCnt],
               ]
                ]
            )
        ),
        'htmlOptions' => array(
            'style' => 'min-width: 310px; height: 350px; margin: 0 auto'
        )
    )
);
?>

Но на сайте выдает ошибку: Undefined variable: allUsersCnt. Понимаю что параметр не определен. Пытался импортировать модули:
Yii::import('application.modules.user.*');
Как можно вывести количество пользователей с виджета PanelUserStatWidget.php?

Вернуться в «Вопросы и ответы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость