2013-10-28 154 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一次 –