Создание кастомного поля в GridView

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
karpo518
Сообщения: 120
Зарегистрирован: 2012.08.30, 20:05
Контактная информация:

Создание кастомного поля в GridView

Сообщение karpo518 »

Здравствуйте. Подскажите, что я делаю не так?
Пытаюсь создать кастомное поле в таблице, но виджет обращается к сгенерированной ссылке как к полю модели и к тому же не подставляет vk_id

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


GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            'id',
            'name',
            'vk_id',
            ['header' => 'test',
            'value' => '"'.Html::a('Статистика', 
                               Url::toRoute(['/stats/index', 
                                            'id' => 'vk_id'])).'"'],
            
            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); 
Getting unknown property: app\models\Pablik::"<a href="/stats/index?id=vk_id">Статистика</a>"
mickgeek
Сообщения: 957
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

Re: Создание кастомного поля в GridView

Сообщение mickgeek »

Если Вы вводите значение в виде строки, то оно должно совпадать с именем одного из свойств модели. В ином случае, для вывода воспользуйтесь анонимной функцией:

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

'format' => 'html',
'value' => function ($model, $key, $index, $grid) {
    return Html::a('Статистика', Url::toRoute(['/stats/index', 'id' => 'vk_id']));
},
karpo518
Сообщения: 120
Зарегистрирован: 2012.08.30, 20:05
Контактная информация:

Re: Создание кастомного поля в GridView

Сообщение karpo518 »

Спасибо) Теперь всё работает как надо
Ответить