0

我想为 yii 中的模型插入 EditableGridView。我已按照此处的插件说明进行操作, 我刚刚将 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 开启。怎么了?我是否需要像使用 x-editable 'EditableDetailView' 那样在 /congig/main.php 中添加更多内容以将其插入?

4

1 回答 1

1

您放置扩展名的位置对于告诉您您做错了什么很重要。我去了你的参考http://www.yiiframework.com/extension/editablegridview。实际上,当提供具有不同别名的示例代码以及向您展示的教程时,这是错误的

他们告诉"Extract both Classes to application/extensions/"但在示例代码中,它使用zii.widgets.grid的是 Yiiframework文件夹中的扩展名。

我假设您将下载的扩展名和文件夹结构如下

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
        ))));
于 2013-08-13T08:02:14.813 回答