我想在yii中为模型插入EditableGridView。 我按照说明从here插件 我刚刚将php类源文件上传到'/ protected / extentions'文件夹并插入视图中:
$this->widget('zii.widgets.grid.CEditableGridView', array(
'dataProvider'=>$dataProvider,
'showQuickBar'=>'true',
'quickCreateAction'=>'QuickCreate', // will be actionQuickCreate()
'columns'=>array(
'title', // display the 'title' attribute
array('header' => 'editMe', 'name' => 'editable_row', 'class' => 'CEditableColumn')
));
当我运行它时,'别名'zii.widgets.grid.CEditableGridView“无效”CException已启用。 怎么了?我是否需要在/congig/main.php中添加更多内容,因为我使用x-editable'EditableDetailView'将其插入?
答案 0 :(得分:1)
您放置扩展程序的位置对于判断您做错了什么非常重要。 我转到你的参考http://www.yiiframework.com/extension/editablegridview。实际上,在为示例代码提供不同的别名以及向您显示的教程时,这是错误的
他们告诉"Extract both Classes to application/extensions/"
,但在示例代码中,它使用的是zii.widgets.grid
,Yii framework
文件夹中的扩展名。
我假设您将下载的扩展名和文件夹结构设置如下
your_app
!_protected
!_!_extensions
!_!_!_widgets
!_!_!_!_editableGrid <== folder contains extension files
Put them here
!_!_!_!_!_CEditableColumn.php
!_!_!_!_!_CEditableGridView.php
!_!_!_!_!_Relation.php
然后我们走了
$this->widget('ext.widgets.editableGrid.CEditableGridView', array(
'dataProvider'=>$dataProvider,
'showQuickBar'=>'true',
'quickCreateAction'=>'QuickCreate', // will be actionQuickCreate()
'columns'=>array(
'title', // display the 'title' attribute
array(
'header' => 'editMe',
'name' => 'editable_row',
'class' => 'ext.widgets.editableGrid.CEditableColumn' // noted the modified alias here
))));