DataGrid ошибка

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

DataGrid ошибка

Сообщение poohbinar » 2014.01.20, 16:01

Привет. Суть такая:
Я создал виджет

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

        RoomsList::widget([
            'title'=> $this->title,
            'socket'=>Yii::$app->params['socket'],
        ]);
 

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

class RoomsList extends \yii\base\Widget {
public function init()
    {
        parent::init();
        echo GridView::widget([
            'dataProvider' => $dataProvider,
            'filterModel' => $searchModel,
            'columns' => [
                'id',
                'name',
                'bet',
                [
                    'label' => t('Users'),
                    'value' => function ($model) use ($roomSpectators) {
                            return (isset($roomSpectators[$model->id]) ? count($roomSpectators[$model->id]) : 0) .
                            ' / ' . $model->max_users;
                        },
                ],
                [
                    'class' => 'common\widgets\JoinButton',
                    'roomSpectators' => $roomSpectators,
                    'socket'=>$this->socket,

                ],
            ],
        ]);

 
Этот виджет RoomsList использует еще один мой виджет JoinButton:

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


class JoinButton extends Column
{
 public function renderDataCell($model, $key, $index)
    {
       echo Html::button($joinIconButton, ['class' => 'btn btn-primary btn-sm room-btn', 'id' => 'room-btn-' . $model->id]);
 
В целом все хорошо, кроме того что кнопка выводится вне таблицы. Провобовал через засунуть разметку в файл и вытащить через renderPartial - работает. Хотя код абсолютно такой же. Если делать вывод в классе то http://shot.qip.ru/008pAk-5IA4wMkhM/
В чем может быть проблема не могу понять. Может я где-то косячу, может ошибка в движке какая... Подскажите пожалуйста

Аватара пользователя
samdark
Администратор
Сообщения: 9227
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: DataGrid ошибка

Сообщение samdark » 2014.01.20, 16:34

А разметка куда вставляется? За разметку грида?

poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

Re: DataGrid ошибка

Сообщение poohbinar » 2014.01.20, 16:41

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

public function renderDataCell($model, $key, $index)
    {
          return Yii::$app->controller->renderPartial('@common/widgets/views/join-button', []); 
вот так вот работает

poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

Re: DataGrid ошибка

Сообщение poohbinar » 2014.01.20, 17:33

Разобрался частично.
Заработало если поставить вместо echo return и юзать renderDataCellContent

Ответить