Включение / отключение модулей

У вас последняя версия фреймворка? И где именно вы пытаетесь обратиться к классу CMap? в каком файле?

Версия у меня 1.0.3, а обратится хочу именно в том который и указал в ошибке, хотя я пытался его в корень вынести - все аналогично.

пробовал на 1.0.5 безрезультатно  ???

покажите conf_advertisements.php



<?php





return CMap::mergeArray(


    require('../../config/hard_conf.php'), 


    array(


	// Модули приложения


	'modules' => array('advertisements'),





	// Переопределение путей


		'urlManager'=>array(


			'urlFormat'=>'path',


			'showScriptName'=>false,


			'rules'=>array(





				/**


				 * Бесплатные объявления.


				 */





			// Главная страница с управлением категориями объявлений


				'admin/advertisements/' => 'advertisements/admin',


			// Добавить (суб)категорию


				'admin/advertisements/category_add/'=>'advertisements/admin/category_add',


			// Редактировать (суб)категорию


				'admin/advertisements/category_edit/<id:d+>/'=>'advertisements/admin/category_edit',


			// Cписок субкатегорию


				'admin/advertisements/<id:d+>/'=>'advertisements/admin',


			// Добавить субкатегорию


				'admin/advertisements/category_add/<id:d+>/'=>'advertisements/admin/category_add',


			// Удалить (суб)категорию


				'admin/advertisements/category_delete/<id:d+>/'=>'advertisements/admin/category_delete',


			// Лист с объявлениями


				'admin/advertisements/advertisements_list/<id:d+>/'=>'advertisements/admin/advertisements_list',


			// Добавить объявление


				'admin/advertisements/advertisement_add/<id:d+>/'=>'advertisements/admin/advertisement_add',


			// Редактировать объявление


				'admin/advertisements/advertisement_edit/<id:d+>/'=>'advertisements/admin/advertisement_edit',


			// Удалить объявление


				'admin/advertisements/advertisement_delete/<id:d+>/'=>'advertisements/admin/advertisement_delete',


			// Главная страница с управлением категориями товаров


				'admin/advertisements_types/' => 'advertisements/admin/advertisements_types',


			// Добавить вид услуги


				'admin/advertisements/type_add/'=>'advertisements/admin/type_add',


			// Редактировать вид услуги


				'admin/advertisements/type_edit/<id:d+>/'=>'advertisements/admin/type_edit',


			// Удалить вид услуги


				'admin/advertisements/type_delete/'=>'advertisements/admin/type_delete',


			// Одобрить объявление


				'admin/advertisements/advertisement_confirm/<id:d+>/'=>'advertisements/admin/advertisement_confirm',








				'advertisements/<id:d+>'=>'advertisements/guest/advertisements_tree',


				'advertisements'=>'advertisements/guest/advertisements_tree',


				'advertisements/advertisement_add/<id:d+>/' => 'advertisements/guest/advertisement_add',





		),


	),





	// Автозагрузка моделей и компонентов


	'import'=>array(


		// Модульные компоненты и модели


		'application.modules.advertisements.models.*',


	)


)


);


м?

Тогда еще и индекс надо где ты передаешь путь к этому файлу.

Ты в крейтэпликэйшин передаеш путь к конфигу?



<?php


// Решаем проблему с кодировкой локально


header("Content-Type: text/html; charset=UTF-8");





// Выводить сообщения об ошибках


defined('YII_DEBUG') or define('YII_DEBUG', TRUE);





// Расположение основных файлов


// $yii = '../_frameworks/1.0.4/yii.php';


$yii = '../framework/yii.php';


$config = dirname(__FILE__).'/protected/config/conf_hard.php';





// Подключаем вспомогательную либу и обходим папку модулей на предмет их конфигов


require_once(dirname(__FILE__).'/protected/components/CommonTools.php');


$modules = CommonTools::findModules();


foreach($modules['conf'] as $module)


{


	require_once(dirname(__FILE__).'/protected/modules/' . $module . '/conf_' . $module . '.php');


}








// Запуск приложения


require_once($yii);


Yii::createWebApplication($config)->run();


Подключение конфигов модулей делай после require_once($yii);

Ага, вроде бы помогло, ошибок никаких нет, но ощущение, что что-то не так, модуля как будто нет.

Я тут думаю, что есть проблема - я же передаю config в CreateWebApplication а дополнительные просто подключаю. Получается приложение их и не видит?

Просто я пытаюсь зайти на страницу модуля, а мне 404, т.е. его не видно.

Получается, что я единый массив все таки не получу, даже если делать так:

foreach($modules['conf'] as $module)

{

$config = require_once(dirname(__FILE__).&#039;/protected/modules/&#039; . $module . &#039;/conf_&#039; . $module . &#039;.php&#039;);

}

а как же мне быть?

Quote

$config = require_once(dirname(__FILE__).'/protected/modules/' . $module . '/conf_' . $module . '.php');

так делать нельзя.

Это я уже понял, но как тогда мне быть?  :(

Перепробовал разные варианты… увы… все не то  :(

Как можно решить мою задачу? Кто-нибудь знает?  :(

Я тут наверное всех достал, но все же. Пробую еще один вариант:



require_once('./protected/components/CommonTools.php');


$modules = CommonTools::findModules();


foreach($modules['conf'] as $module)


{


	require_once('./protected/modules/' . $module . '/conf_' . $module . '.php');


}





$conf_hard = array(...);


return $conf_hard;


Собственно вопрос в том, как эти подключенные массивы объединить с конф_хард, если мы заранее не знаем сколько их будет?