【发布时间】:2015-08-15 08:48:01
【问题描述】:
我有一个带有 CGrideView 的管理页面,但是当我想更改我的按钮列以添加一些其他按钮时会出现此错误:CButtonColumn 及其行为没有名为“getId”的方法或闭包。
管理员操作:
public function actionAdmin()
{
$model=new Block('search');
$model->unsetAttributes(); // clear any default values
if (isset($_GET['Block'])) {
$model->attributes=$_GET['Block'];
}
$this->render('admin',array(
'model'=>$model,
));
}
管理员视图:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'block-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'name',
'content',
'type',
'enable',
array(
'class'=>'CButtonColumn',
'template' => '{view}{update}',
'buttons' => array(
'update' => array(
'url' => 'Yii::app()->controller->createUrl("update", array("name"=>$data->name))'
),
'view' => array(
'url'=>'CController::createUrl("view", array("name"=>$data->name))'
),
),
),
)));
【问题讨论】:
-
您可以创建任何自定义列。 Here例子
-
@DanilaGanchar 我的应用程序中有另一个 gideviews 我没有问题,但在这种情况下,yii 给我那个错误!
-
你能显示错误和行吗?
-
我说我的问题@DanilaGanchar 中的错误:CButtonColumn 及其行为没有名为“getId”的方法或闭包。
-
这很奇怪。试试这个进行测试。
'update'=>array( 'url'=>'$data->name' ), 'view'=>array( 'url'=>'$data->name' ),。有效果吗?
标签: php gridview yii controller cbuttoncolumn