Как расширить класс kartik\dynagrid\DynaGrid?
Установил плагин DynaGrid и столкнулся с проблемой его расширения. Создал собственный класс DynaGridViewAdvanced, который находится по пути modules/appWidgets/widgets/grid и имеет namespace 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
}
}
Собственно, вопрос заключается том, почему выкидывается ошибка и как ее исправить?
View not Found – yii\base\ViewNotFoundException
The view file does not exist: /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.