0

安装DynaGrid插件并遇到扩展它的问题。我创建了自己的类DynaGridViewAdvanced,它位于路径上modules/appWidgets/widgets/grid并具有命名空间app\modules\appWidgets\widgets\grid

类代码如下:

<?php
declare(strict_types=1);

namespace app\modules\appWidgets\widgets\grid;

use kartik\dynagrid\DynaGrid;
use Yii;
use yii\helpers\Url;

class DynaGridViewAdvanced extends DynaGrid {
    /**
     * @var bool активность функции перехода на просмотр при двойном клике
     */
    public $transitionToView = false;
    
    public function init() {
        parent::init(); // TODO: Change the autogenerated stub
        
        if ($this->transitionToView && empty($this->rowOptions)) {
            $this->rowOptions = function($model, $key, $index, $grid) {
                $viewLink = Url::toRoute(['/' . Yii::$app->controller->id . '/view']);
                
                return ['ondblclick' => 'location.href="' . $viewLink . '?id="+(this.dataset.key);'];
            };
        }
    }
    
    public function run() {
        parent::run(); // TODO: Change the autogenerated stub
    }
}

实际上,问题是为什么会抛出错误以及如何修复它?

未找到视图 – yii\base\ViewNotFoundException

视图文件不存在:/var/www/urs/modules/appWidgets/widgets/grid/views/config.php

DynaGrid本身有一个属性,_module它本身存储kartik\dynagrid\Module,其中有一个属性configViewconfigView仅在DynaGrid其自身中使用:

$dynagrid = $this->render(
    $this->_module->configView,
    [...]
)

据我了解该错误,他正试图用namespace.

查看完整的错误页面:

在此处输入图像描述

4

0 回答 0