2016-02-13 57 views
1

我的後端/ layout/view/main.php文件如下 請告訴我如何使用kartik-v/yii2-widget-sidenav 我已經安裝此插件作曲家。我是Yii的新手。請幫忙。 我不確定我是在正確的地方使用代碼還是爲什麼會出現此錯誤。我從github頁面複製並粘貼了代碼。Class'kartik sidenav SideNav'找不到

<?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::powered() ?></p> 
</div> 
</footer> 

<?php $this->endBody() ?> 
</body> 
</html> 
<?php $this->endPage() ?> 
+0

找出如何安裝卡爾蒂克這裏的小工具 [http://stackoverflow.com/questions/35384920/include-additional-library-to-yii2/35388744#35388744](http://stackoverflow.com/questions/35384920/include-additional-library-to-yii2/ 35388744#35388744) –

回答

2

我覺得很奇怪,你有(內側)的後端內的供應商目錄。因爲我認爲你使用的是高級模板,供應商目錄應該只在你的項目中,然後在前端和後端的同一層(而不是在它們的內部)。我認爲這是Yii無法找到組件SideNav的原因..

我建議你在你的項目中重新安裝這個擴展名爲byb的運行(它的)作曲者,這樣擴展名應該在vendor目錄中該項目..的 一旦你安裝了這個,如果你只安裝SideNav那麼它應該工作..

use kartik\sidenav\SideNav; 

,但如果你安裝的所有部件應工作

use kartik\widgets\SideNav; 
+0

我試過了。然後錯誤信息變成 - 「Class'kartik \ widgets \ SideNav'not found」。 – Tanmay

+0

我已經用新的(簡短)建議更新了答案。 – scaisEdge

+0

最終嘗試使用作曲家進行更新.. – scaisEdge