Yii引导网格:尝试获取非对象的属性

Yii引导网格:尝试获取非对象的属性,yii,twitter-bootstrap,Yii,Twitter Bootstrap,这: 正在返回: 正在尝试获取非对象的属性 菜单、按钮(以及其他一切)都可以正常工作。我不知道这个类中的代码是什么——bootstrap.widgets.BootButtonColumn 但不管是什么,这都是问题的根源。 确保已定义每个按钮的完整操作,以避免此问题 我的意思是,对于按钮列中的每个按钮,将url设置为-- 这应该可以解决问题。这是因为示例使用CArrayDataProvider来填充网格。 当您进入BootButton(生成此列的类)以查看它运行的内容时,您将看到它正试图从data

这:

正在返回:

正在尝试获取非对象的属性
菜单、按钮(以及其他一切)都可以正常工作。

我不知道这个类中的代码是什么——bootstrap.widgets.BootButtonColumn 但不管是什么,这都是问题的根源。 确保已定义每个按钮的完整操作,以避免此问题

我的意思是,对于按钮列中的每个按钮,将url设置为--


这应该可以解决问题。

这是因为示例使用CArrayDataProvider来填充网格。 当您进入BootButton(生成此列的类)以查看它运行的内容时,您将看到它正试图从dataprovider获取primaryKey属性,但是没有这样的属性,因为数据是数组类型的

如果计划使用按钮,则必须为网格传递CActiveDataProvider

所以试着这样使用:

'$this->grid->controller->createUrl("action_name", array("param_name" => "param_value"))'

其中,$model是控制器传递给视图的CActiveRecord。

这是由于按钮列缺少变量造成的 应该是

$this->widget('bootstrap.widgets.BootGridView', array(
        'type'=>'striped bordered condensed',
        'dataProvider'=>$model->search(),
        'template'=>"{items}{pager}",
        'filter'=>$model,...

//

我们还需要更多的时间。哪一行显示错误在哪?这通常意味着您的一个对象被错误地设置为NULL、true、false、integer或其他值。60$url=isset($button['url'])$此->evaluateExpression($button['url'],array('data'=>$data,'row'=>$row)):';您需要使用错误中堆栈跟踪的前几行以及错误主线周围的代码和任何相关变量来更新问题。关于bootstrap.widgets.BootButtonColumn的第50-65行可以作为一个开始
$this->widget('bootstrap.widgets.BootGridView', array(
        'type'=>'striped bordered condensed',
        'dataProvider'=>$model->search(),
        'template'=>"{items}{pager}",
        'filter'=>$model,...
array(
        'class'=>'bootstrap.widgets.BootButtonColumn',
        'htmlOptions'=>array('style'=>'width: 50px'),
                            'viewButtonUrl'=>null,
                            'updateButtonUrl'=>null,
                            'deleteButtonUrl'=>null,
    ),