Tôi muốn thực hiện hộp thoại phương thức Yii2 trên GridView của tôi khi xem hoặc cập nhật nút được nhấp vào mỗi hàng.Làm thế nào để thực hiện Hộp thoại Modal Yii2 trên chế độ xem GridView và nút cập nhật?
Có ai vui lòng tư vấn về cách triển khai không?
Với lời khuyên từ arogachev: Đây là một bản cập nhật về mã của tôi
<?php
//var_dump($dataProvider);
$gridColumns = [
[
'format' => 'html',
'attribute' => 'avatar',
'label'=>'Image',
'headerOptions' => ['width' => '80%',],
],
[ 'class' => 'yii\grid\ActionColumn',
'template' => '{view} {delete}',
'headerOptions' => ['width' => '20%', 'class' => 'activity-view-link',],
'contentOptions' => ['class' => 'padding-left-5px'],
'buttons' => [
'view' => function ($url, $model, $key) {
return Html::a('<span class="glyphicon glyphicon-eye-open"></span>','#', [
'id' => 'activity-view-link',
'title' => Yii::t('yii', 'View'),
'data-toggle' => 'modal',
'data-target' => '#activity-modal',
'data-id' => $key,
'data-pjax' => '0',
]);
},
],
],
];
?>
<?php
Pjax::begin();
echo \kartik\grid\GridView::widget([
'dataProvider' => $dataProvider,
'columns'=>$gridColumns,
'summary'=>false,
'responsive'=>true,
'hover'=>true
]);
Pjax::end();
?>
<?php $this->registerJs(
"$('.activity-view-link').click(function() {
$.get(
'imgview',
{
id: $(this).closest('tr').data('key')
},
function (data) {
$('.modal-body').html(data);
$('#activity-modal').modal();
}
);
});
"
); ?>
<?php
?>
<?php Modal::begin([
'id' => 'activity-modal',
'header' => '<h4 class="modal-title">View Image</h4>',
'footer' => '<a href="#" class="btn btn-primary" data-dismiss="modal">Close</a>',
]); ?>
<div class="well">
</div>
<?php Modal::end(); ?>
Các trang xem/cập nhật thực tế sẽ mở như thế nào trong trường hợp đó? Với liên kết bên trong nội dung cửa sổ bật lên? – arogachev
hi arogachev, bên trong GridView, khi tôi nhấp vào nút mắt, trang xem sẽ được khởi chạy theo phương thức và khi tôi nhấp vào nút bút chì, trang cập nhật sẽ được khởi chạy bên trong phương thức. Trang xem/cập nhật thực tế là trang url có thể tự khởi chạy. – esiaz
Nó giống như trong Yii1, sử dụng CJuiDialog để chỉnh sửa các hàng trong một CGridView, chỉ rằng tôi cần phải thực hiện nó trong Yii2 mà tôi không thể tìm thấy bất kỳ hướng dẫn trực tuyến nào. – esiaz