Вы должны следовать этим правилам, чтобы переопределить контроллеры для пользователя dektrium
directory structure
Вы можете изменить следующее, если хотите, чтобы это было во внешнем интерфейсе, нужно изменить только начальную папку
- backend
- controllers
- user
- AdminController
Ваша конфигурация для модуля user
в разделе module
должна выглядеть следующим образом
'modules' => [
..............
'user' => [
'controllerMap' => [
'admin' => 'backend\controllers\user\AdminController' ,
] ,
Для переопределения контроллера новым действием index
ваш минимальный код должен выглядеть следующим образом
AdminController
<?php
namespace backend\controllers\user;
use dektrium\user\controllers\AdminController as BaseAdmin;
class AdminController extends BaseAdmin {
public function behaviors() {
$behaviours = parent::behaviors ();
$behaviours['access']['rules'][] = [
'allow' => true ,
'actions' => [ 'index' ] ,
'roles' => [ '?' ]
];
return $behaviours;
}
public function actionIndex(){
return $this->render('index');
}
}
вы хотите создать действие
index
, которое должно быть разрешено для пользователейguest
без входа в систему?