2013-10-28 152 views
0

我有一個使用yii框架的網站。作爲第一件事,在我啓動並運行該站點之後,我想安裝bootstrap(yii-bootstrap-2.1.0.r355.zip)。但是,這並不是很順利。yii屬性「CWebUser.bootstrap」未定義,無法訪問gii

我收到以下錯誤「屬性」CWebUser.bootstrap「未定義。」

引導程序擴展名被作爲/博客/保護/擴展/引導

我的主配置文件看起來像這樣

<?php 

// uncomment the following to define a path alias 
// Yii::setPathOfAlias('local','path/to/local-folder'); 

// This is the main Web application configuration. Any writable 
// CWebApplication properties can be configured here. 

Yii::setPathOfAlias('bootstrap', dirname(__FILE__).'/../extensions/bootstrap'); 


return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 
'name'=>'be creative', 
'theme'=>'bootstrap', // requires you to copy the theme under your themes directory 

// preloading 'log' component 
'preload'=>array('log'), 
// preloading bootstrap component 
'preload'=>array('bootstrap'), 

// autoloading model and component classes 
'import'=>array(
    'application.models.*', 
    'application.components.*', 
), 

'defaultController'=>'post', 

// application components 
'components'=>array(
    'user'=>array(
     // enable cookie-based authentication 
     'allowAutoLogin'=>true, 
     'bootstrap' => array('class'=>'ext.bootstrap.components.Bootstrap') 
    ), 

    // gii module...   
    'modules'=>array(
     'gii'=>array(
      'class'=>'system.gii.GiiModule', 
      'password'=>'admin', 
      'generatorPaths'=>array('bootstrap.gii') 
     ), 
    ), 

    'db'=>array(
     'connectionString' => 'sqlite:protected/data/blog.db', 
     'tablePrefix' => 'tbl_', 
    ), 
    // uncomment the following to use a MySQL database 

    'db'=>array(
     'connectionString' => 'mysql:host=localhost;dbname=blog', 
     'emulatePrepare' => true, 
     'username' => 'root', 
     'password' => '123', 
     'charset' => 'utf8', 
     'tablePrefix' => 'tbl_', 
    ), 

    'errorHandler'=>array(
     // use 'site/error' action to display errors 
     'errorAction'=>'site/error', 
    ), 
    'urlManager'=>array(
     'urlFormat'=>'path', 
     'rules'=>array(
      'post/<id:\d+>/<title:.*?>'=>'post/view', 
      'posts/<tag:.*?>'=>'post/index', 
      '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 
     ), 
    ), 
    'log'=>array(
     'class'=>'CLogRouter', 
     'routes'=>array(
      array(
       'class'=>'CFileLogRoute', 
       'levels'=>'error, warning', 
      ), 
      // uncomment the following to show log messages on web pages 
      /* 
      array(
       'class'=>'CWebLogRoute', 
      ), 
      */ 
     ), 
    ), 
), 

// application-level parameters that can be accessed 
// using Yii::app()->params['paramName'] 
'params'=>require(dirname(__FILE__).'/params.php'), 

);

+0

雖然這不會直接解決您的問題/回答你的問題,我建議你使用[Yiistrap(http://www.getyiistrap.com)代替Yii-Bootstrap的。它實質上是後者的重構。 –

+0

現在我收到以下錯誤... :(內部服務器錯誤屬性「CWebApplication.db」是隻讀的。當Web服務器處理您的請求時發生內部錯誤。請與網站管理員聯繫以報告此問題。 –

回答

1

您指定無效components配置:

  1. user組件用於身份驗證。
  2. 你需要指定bootstrap組件

    'components'=>array(
        'user'=>array(
         'allowAutoLogin'=>true, 
         'class' => 'WebUser' //if you expanded CWebUser Yii class 
        ), 
        'bootstrap'=>array(
         'class'=>'ext.bootstrap.components.Bootstrap', 
        ), 
    ), 
    
+0

現在我收到以下錯誤... :(內部服務器錯誤 屬性「CWebApplication.db」是隻讀的 Web服務器處理您的請求時發生內部錯誤,請與網站管理員聯繫報告這個問題 謝謝 –

+0

我想,你得到這個錯誤,因爲你指定了db連接兩次 –

+0

謝謝你,但是我在main.php中只定義了db一次 –