Attach Custom Config

I try to attach my custom config like it is done in the test.php, but I get

It is my custom.php:




return array(	

    'isAdmin' => false,

);

It is my main.php:


return CMap::mergeArray(array(		

	'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',

	'defaultController' => 'post',

	'theme' => 'twitterbs', 

	

	// preloading 'log' component

	'preload'=>array('log'),

	

	// autoloading model and component classes

	'import'=>array(

		'application.models.*',

		'application.components.*',

	),

	

	'modules'=>array(

		// uncomment the following to enable the Gii tool

		'gii'=>array(

			'class'=>'system.gii.GiiModule',

			'password'=>'gii',

		 	// If removed, Gii defaults to localhost only. Edit carefully to taste.

			'ipFilters'=>array('127.0.0.1','::1'),

		),

	),

	

	// application components

	'components'=>array(

		'user'=>array(

			// enable cookie-based authentication

			'allowAutoLogin'=>true,

		),

		// uncomment the following to enable URLs in path-format

		'urlManager'=>array(

			'urlFormat'=>'path',

			'showScriptName' => false,

			'rules'=>array(

				'gii' => 'gii',							

				

				'<id:\d+>' => 'post/index',

				'ask' => 'post/ask',

				'<_a:(login|logout)>' => 'user/<_a>',

	

				/* '<controller:\w+>/<id:\d+>'=>'<controller>/view',

				'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>', */

			),

		),

		

		'db'=>array(

			'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',

		),

		// uncomment the following to use a MySQL database

		/*

		'db'=>array(

			'connectionString' => 'mysql:host=localhost;dbname=testdrive',

			'emulatePrepare' => true,

			'username' => 'root',

			'password' => '',

			'charset' => 'utf8',

		),

		*/

		'errorHandler'=>array(

			// use 'site/error' action to display errors

	        'errorAction'=>'error/error',

	    ),

		'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'=>array(

		// this is used in contact page

		'adminEmail'=>'webmaster@example.com',

	),	

    ),

    require(dirname(__FILE__).'/custom.php')

);

This is correct. CWebApp doesn’t have an isAdmin property. You could put it in the ‘params’ array() Then call it with, I believe, Yii::app()->params[‘isAdmin’]

Now as a sidelight, When are you hardcoding that everyone who logs onto you site is an admin? Usually you would extend CWebUser and add isAdmin to it, then during login you would set isAdmin =true based on a condition that says they actually are an admin.

Every key in config is not random, it’s attributes of class. Add to ‘params’:




// application-level parameters that can be accessed

// using Yii::app()->params['paramName']

'params'=>array(

  // this is used in contact page

  'adminEmail'=>'webmaster@example.com',

  'isAdmin' => false

)



but it’s very bad idea to use such param