Как расширить класс kartik\dynagrid\DynaGrid?

Установлен 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, в котором есть свойство configView. configView используется только в DynaGrid сам:

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

Насколько я понимаю ошибку, он пытается найти этот файл представления конфигурации именно с помощью namespace.

См. Полную страницу ошибки:

0 ответов

Другие вопросы по тегам