Обновление данных в Kartik Detailview не работает - PullRequest
1 голос
/ 09 января 2020

Я подробно показал, используя Kartik Detail View. Этот виджет имеет функцию «Редактировать встроенную функцию», нажав кнопку со значком карандаша в правом верхнем углу, вот так. enter image description here

Но тогда таблица не будет редактируемой: enter image description here

И ничего не происходит, мои данные все те же, мое обновление не удалось. Возможно решить мою проблему ? Спасибо.

Я прочитал официальное руководство, и оно выглядит идентично: https://demos.krajee.com/detail-view

Это мой код просмотра:

<?php echo DetailView::widget([
        'model' => $modelAnagrafiche,
        'responsive' => true,
        'mode' => 'edit',
        'enableEditMode' => true,
        'buttons1' => '{update}',
        'panel' => [
            'type' => 'primary',
            'heading' => 'Contratto' . ' : ' . $modelAnagrafiche >cognome_ragione_sociale . ' ' . $modelAnagrafiche->nome
        ],
        'attributes' => [
            [
                'group'=>true,
                'label'=>'Sezione Anagrafica',
                'rowOptions'=>['class'=>'table-primary']
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'cognome_ragione_sociale',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%']
                    ],
                    [
                        'attribute' => 'nome',
                        'format' => 'raw',
                        'valueColOptions' => ['style' => 'width:30%'],
                        'displayOnly' => true,
                        'type' => DetailView::INPUT_TEXT,
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'codice_fiscale',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%']
                    ],
                    [
                        'attribute' => 'partita_iva',
                        'format' => 'raw',
                        'valueColOptions' => ['style' => 'width:30%'],
                        'displayOnly' => true
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'tipo_documento',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%'],
                        'format' => 'raw',
                        'value' => $modelAnagrafiche->tipoDocumento,
                    ],
                    [
                        'attribute' => 'numero_documento',
                        'format' => 'raw',
                        'valueColOptions' => ['style' => 'width:30%'],
                        'displayOnly' => true
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'data_nascita',
                        'displayOnly' => true,
                        'format' => 'date',
                        'type' => DetailView::INPUT_DATE,
                        'widgetOptions' => [
                            'pluginOptions' => ['format' => 'yyyy-mm-dd']
                        ],
                    ],
                    [
                        'attribute' => 'id_provincia_nascita',
                        'displayOnly' => true,
                        'valueColOptions' => ['style' => 'width:30%'],
                        'format' => 'raw',
                        'value' => $modelAnagrafiche->provinciaNascitaNome,
                        'label' => 'Provincia Nascita'
                    ],
                ],
            ],
            [
                'columns' => [
                    [
                        'attribute' => 'id_comune_nascita',
                        'displayOnly' => true,
                        'format' => 'raw',
                        'value' => $modelAnagrafiche->comuneNascitaNome,
                        'label' => 'Comune Nascita'
                    ],
                ],
            ],
        ],
    ]);
?>

Это действие в моем контроллере :

public function actionUpdateAnagrafica()
{
    $post = Yii::$app->request->post();

    if (empty($post['Anagrafiche']['id'])) {
        throw new NotFoundHttpException('Non esiste nessuna anagrafica.');
    }

    $modelAnagrafiche = Anagrafiche::findOne($post['Anagrafiche']['id']);

    if ($modelAnagrafiche->load($post) && $modelAnagrafiche->save()) {
        return $this->redirect(['view', 'id' => $modelAnagrafiche->id]);
    } else {
        return $this->render('update-anagrafica', [
            'modelAnagrafiche' => $modelAnagrafiche,
        ]);
    }
}

1 Ответ

1 голос
/ 09 января 2020

Вы должны удалить все атрибуты displayOnly.

Согласно официальному руководству:

displayOnly: boolean | Закрытие, если вход должен быть установлен как отображать только в режиме редактирования. Если установлено значение true, ввод редактируемой формы не будет отображаться, вместо этого будет отображаться форматированное значение атрибута.

...