Как расширить класс картик \ dynagrid \ DynaGrid? - PullRequest
0 голосов
/ 17 апреля 2020

Установил плагин 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.

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

enter image description here

...