У меня проблема с маршрутизацией Yii Framework.
Я создал контроллер, назовем его TestController.php
Затем мне нужно поместить его в подкаталог с именем Make, чтобы моя структура выглядела так:
controllers/TestController.php
controllers/Make/TestController.php
Конечно, если я изменю его имя, оно работает отлично, но есть ли способ поместить контроллер с таким же именем в каталог контроллеров и подкаталог?
Изменить
Моя конфигурация URLManager выглядит так:
'urlManager'=>array(
'showScriptName' => false,
'urlFormat'=>'path',
'rules'=>array(
'gii' => 'gii',
'gii/<controller:\w+>' => 'gii/<controller>',
'gii/<controller:\w+>/<action:\w+>' => 'gii/<controller>/<action>',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
У меня есть контроллер Закладки
. Поскольку у меня есть еще кое-что, связанное с закладками, мне нужно было создать каталог закладки
и поместить туда некоторые контроллеры, например Категории
.
Не могу заставить это сделать работают.
Edit 2
Только что проверил чистое приложение. Похоже, это ошибка Yii (?).
Edit 3
Я изменил конфигурацию импорта, как было предложено:
'import'=>array(
'application.models.*',
'application.components.*',
'application.controllers.bookmarks.*'
),
Я также создал правильное правило маршрута 'закладки / <контроллер: \ w +> /
.
Моя структура файлов теперь выглядит следующим образом:
BookmarksController.php
bookmarks/CategoriesController.php
Вот выкидываемые исключения:
исключение 'CHttpException' с сообщением 'Система не может найти запрошенное действие "категории". ' в /home/root/www/yiitesting/framework/web/CController.php:477