Вопрос

I have a site using the yii framework. As the first thing, after i got the site up and running, I wanted to install bootstrap (yii-bootstrap-2.1.0.r355.zip). This, however, did not go very smooth.

I get the following error "Property "CWebUser.bootstrap" is not defined."

The Bootstrap extension is placed as /blog/protected/extensions/bootstrap

My main config file looks like this

<?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'),

);

Это было полезно?

Решение

You specified invalid components configuration:

  1. user component is used for authentication.
  2. you need specify bootstrap component

    'components'=>array(
        'user'=>array(
            'allowAutoLogin'=>true,
            'class' => 'WebUser'    //if you expanded CWebUser Yii class
        ),
        'bootstrap'=>array(
            'class'=>'ext.bootstrap.components.Bootstrap',
        ),
    ),
    
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top