如何把视图的参数传递给控制器的操作执行 [ 2.0 版本 ]
假如有一个用户表,用gii生成CRUD后,把gii生成的index视图文件给改了,不使用GridView小部件,使用自己写的index,用“修改”,“删除”代替GridView生成的小图标,当点击“删除”时,可以删除对应的id的用户。
共 1 个回答
-
你的描述是可行的。
共 4 条回复@trylife 最近忙于找工作,没及时回复,因为之前是参照别人的代码试了下可行,就不管了,想把答案写出来有点乱。今天我重头做了一遍,我使用的是一yii2高级版(advanced)步骤如下:1、我创建了一张member表 2、我用gii生成model路径是@common/models 3、用gii生成CRUD 路径是@backend/views/member 代码如下:控制器:添加 use yii\data\Pagina
tion; 重写actionIndex()方法:public function actionIndex(){ $query = MemberModel::find(); $pagination = new Pagination([ 'defaultPageSize' => 2, 'totalCount' => $query->count(), ]); $members = $query->orderBy('name') ->offset($pagination->offset) ->limit($pagination->limit) ->all(); return $this->render('index', [ 'members' => $members, 'pagination' => $pagination, ]); }
//视图:主要是重写了index视图,代码如下:
<?php
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
会员表
<?=Html::a("创建 <i class='icon-plus'></i>" , ['create' ], ['class' => 'btn btn-success green']) ?>
<thead> <tr> <th>序号 </th> <th>名称 </th> <th>邮箱 </th> <th>操作 </th> </tr> </thead > <tbody > <?php foreach ($members as $member): ?> <tr> <td ><?= Html::encode($member->id) ?></td> <td ><?= Html::encode($member->name) ?></td> <td ><?= Html::encode($member->email) ?></td> <td > <a href= "<?= Url::to([ 'view', 'id'=>$member->id]); ?>" >查看 </a > <a href= "<?= Url::to([ 'update', 'id'=>$member->id]); ?>" >编辑 </a > <a class ="del" data-method="post" data-confirm="你确定删除该角色或权限吗?" href= "<?= Url::to([ 'delete', 'id'=>$member->id]); ?>">删除</a > </td > </tr > <?php endforeach; ?> </tbody >
<?= LinkPager::widget(['pagination' => $pagination]) ?>
至于一些英文改中文就自己改吧
nizhuan
注册时间:2015-09-30
最后登录:2016-03-12
在线时长:8小时23分
最后登录:2016-03-12
在线时长:8小时23分
- 粉丝2
- 金钱1660
- 威望0
- 积分1740