扩展kartik GridView小部件类 - 高级应用程序yii2

时间:2017-01-05 07:59:30

标签: gridview yii2 extend kartik-v

我想创建一个从yii2 Kartik gridview

扩展的新类
namespace mywidget\grid;

use kartik\base\Config;
use kartik\dialog\Dialog;
use kartik\mpdf\Pdf;
use Yii;
use yii\base\InvalidConfigException;
use yii\bootstrap\ButtonDropdown;
use yii\grid\Column;
use kartik\grid\GridView as YiiGridView;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Json;
use yii\helpers\Url;
use yii\web\JsExpression;
use yii\web\View;
use yii\widgets\Pjax;
class GridView extends YiiGridView
{

}

问题是当我调用网格视图时,抛出错误异常:找不到类。 所以我想知道它是否是从widget类扩展的正确方法?

2 个答案:

答案 0 :(得分:1)

您使用的命名空间未注册。

最简单的解决方案是将名称空间更改为使用Yii 2注册的名称空间。

  • 对于Basic Project来说是app - 所以,如果你的扩展类的路径是mywidget/grid/GridView.php名称空间是app\mywidget\grid
  • 对于高级项目,它是commonfrontendbackend,因此根据您选择的那个文件夹,并相应地替换app

如果您坚持使用mywidget\grid命名空间,则必须先注册。在指南中了解更多相关信息:Class Autoloading

答案 1 :(得分:0)

  

例外是关于我找不到的课程:use mywidget\grid\GridView

这听起来像是一个自动加载问题,请确保您正在使用的文件与您正在使用的命名空间在项目中具有相同的路径。在这种情况下应该是mywidget\grid\GridView.php或调整您的命名空间以匹配您的文件位置

..如果情况并非如此,请提供有关您收到的错误和课堂用例的更多详细信息