@DarkByte2015

Почему DetailView не хочет работать с кастомными столбцами?

Пытаюсь отрендерить булевое поле:

echo DetailView::widget([
    'model' => $model,
    'attributes' => [
        [
            'attribute' => 'is_completed',
            'class' => 'yii\grid\CheckboxColumn',
        ]
    ]
]);


Но нефига не выходит. Просто цифра 0/1 выводится. В чем дело? Почему DetailView не хочет работать с другими классами столбцов кроме DataColumn дефолтного?
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 2
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Почему не хочет. Работает, выводит же Вам 0/1.
Что Вы хотите сделать?
Добавьте 'value' и подмените 0 и 1
Попробуйте так сделать.
'value' => ArrayHelper::getValue($model->attribute,[0 => 'No', 1 => 'Yes'])
Ответ написан
@vksee
yii\grid\CheckboxColumn предназначен для GridView.
Привязывается к строкам в таблице, а не к определенному атрибуту.
Checkbox column отображает колонку как флаг (сheckbox)...
Пользователи могут нажимать на флаги для выделения строк в таблице.


Попробуйте такое:
echo DetailView::widget([
    'model' => $model,
    'attributes' => [
        [
            'attribute' => 'is_completed',
            'format' => 'raw',
            'value' => Html::checkbox('is_completed', $model->is_completed, ['disabled'=>true])
        ]
    ]
]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы