Как указать контроллер по-умолчанию в yii2 для подкаталога? Приветствую. Есть директория контроллеровapp/controllers Создал поддиректориюapp/controllers/test Если в базовой директории контроллеров контроллером по-умолчанию является SiteController, вызывающийся при обращении к приложению app.domain/, то как задать контроллер по-умолчанию для подкаталога? Спасибо. P.S: в гугле были подобные вопросы, но все они обрывались на отклонённых разработчиками Yii иссушках. Если двигаюсь не в том направлении, то куда лучше копнуть? З.Ы: планирую копать в сторону создания нового модуля.
Для указания контроллера по умолчанию для подкаталога в Yii2, вам нужно создать новый модуль. Модули в Yii2 позволяют организовать отдельную структуру контроллеров, видов и моделей для определенной области вашего приложения.
Для создания нового модуля:
Создайте новую директорию в папке modules вашего приложения. Например, app/modules/test.
В новой директории создайте файл класса модуля, например, TestModule.php:
namespace app\modules\test; class TestModule extends \yii\base\Module { public $controllerNamespace = 'app\modules\test\controllers'; }
Создайте директорию controllers внутри папки модуля app/modules/test.
В директории controllers создайте контроллер, например, TestController.php:
namespace app\modules\test\controllers; use yii\web\Controller; class TestController extends Controller { public function actionIndex() { return $this->render('index'); } }В файле конфигурации приложения config/web.php добавьте новый модуль в секцию modules:'modules' => [ 'test' => [ 'class' => 'app\modules\test\TestModule', ], ],
Теперь контроллер TestController будет контроллером по умолчанию для вашего модуля при обращении к приложению по адресу app.domain/test/.
Надеюсь, это поможет вам создать контроллер по умолчанию для подкаталога в Yii2. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Для указания контроллера по умолчанию для подкаталога в Yii2, вам нужно создать новый модуль. Модули в Yii2 позволяют организовать отдельную структуру контроллеров, видов и моделей для определенной области вашего приложения.
Для создания нового модуля:
Создайте новую директорию в папке modules вашего приложения. Например, app/modules/test.
В новой директории создайте файл класса модуля, например, TestModule.php:
namespace app\modules\test;class TestModule extends \yii\base\Module
{
public $controllerNamespace = 'app\modules\test\controllers';
}
Создайте директорию controllers внутри папки модуля app/modules/test.
В директории controllers создайте контроллер, например, TestController.php:
namespace app\modules\test\controllers;use yii\web\Controller;
class TestController extends Controller
{
public function actionIndex()
{
return $this->render('index');
}
}В файле конфигурации приложения config/web.php добавьте новый модуль в секцию modules:'modules' => [
'test' => [
'class' => 'app\modules\test\TestModule',
],
],
Теперь контроллер TestController будет контроллером по умолчанию для вашего модуля при обращении к приложению по адресу app.domain/test/.
Надеюсь, это поможет вам создать контроллер по умолчанию для подкаталога в Yii2. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.