No se encuentra la class 'kartik \ sidenav \ SideNav'

Mi file backend / layout / view / main.php es el siguiente. Dígame cómo usar kartik-v / yii2-widget-sidenav. He instalado este widget por compositor. Soy nuevo para Yii. Por favor ayuda. No estoy seguro de si estoy usando el código en el lugar correcto o por qué viene este error. He copydo y pegado el código de la página de github.

<?php /* @var $this \yii\web\View */ /* @var $content string */ use backend\assets\AppAsset; use yii\helpers\Html; use yii\bootstrap\Nav; use yii\bootstrap\NavBar; use yii\widgets\Breadcrumbs; use common\widgets\Alert; //use kartik\widgets\SideNav; use kartik\sidenav\SideNav; //use yii\helpers\Url; AppAsset::register($this); ?> <?php $this->beginPage() ?> <!DOCTYPE html> <html lang="<?= Yii::$app->language ?>"> <head> <meta charset="<?= Yii::$app->charset ?>"> <meta name="viewport" content="width=device-width, initial-scale=1"> <?= Html::csrfMetaTags() ?> <title><?= Html::encode($this->title) ?></title> <?php $this->head() ?> </head> <body> <?php $this->beginBody() ?> <?= SideNav::widget([ 'type' => SideNav::TYPE_DEFAULT, 'heading' => 'Options', 'items' => [ [ 'url' => '#', 'label' => 'Home', 'icon' => 'home' ], [ 'label' => 'Help', 'icon' => 'question-sign', 'items' => [ ['label' => 'About', 'icon'=>'info-sign', 'url'=>'#'], ['label' => 'Contact', 'icon'=>'phone', 'url'=>'#'], ], ], ], ]); ?> <div class="wrap"> <?php NavBar::begin([ 'brandLabel' => 'My Company', 'brandUrl' => Yii::$app->homeUrl, 'options' => [ 'class' => 'navbar-inverse navbar-fixed-top', ], ]); $menuItems = [ ['label' => 'Home', 'url' => ['/site/index']], ]; if (Yii::$app->user->isGuest) { $menuItems[] = ['label' => 'Login', 'url' => ['/site/login']]; } else { $menuItems[] = [ 'label' => 'Logout (' . Yii::$app->user->identity->username . ')', 'url' => ['/site/logout'], 'linkOptions' => ['data-method' => 'post'] ]; } echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'items' => $menuItems, ]); NavBar::end(); ?> <div class="container"> <?= Breadcrumbs::widget([ 'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], ]) ?> <?= Alert::widget() ?> <?= $content ?> </div> </div> <footer class="footer"> <div class="container"> <p class="pull-left">&copy; My Company <?= date('Y') ?></p> <p class="pull-right"><?= Yii::powenetworking() ?></p> </div> </footer> <?php $this->endBody() ?> </body> </html> <?php $this->endPage() ?> 

Me parece extraño que tengas el directory del proveedor dentro (dentro) del back-end. Como creo que está usando templates avanzadas, el directory del proveedor debe estar solo dentro de su proyecto, y luego en el mismo nivel de frontend y backend (y no dentro de ellos). Creo que esta es la razón por la cual Yii no puede encontrar el componente SideNav ..

Le sugiero que reinstale esta extensión byb ejecutando (its) composer en su proyecto, de esta manera la extensión debería terminar en el directory del proveedor del proyecto. Una vez que haya instalado esto, si instala solo SideNav, entonces debería funcionar.

 use kartik\sidenav\SideNav; 

pero si instala todos los widgets debería funcionar

 use kartik\widgets\SideNav; 
Intereting Posts