Страница входа в yii2 для расширенного шаблона с admin lte и расширением yii2-user

Кто-нибудь пробовал использовать тему AdminLTE с расширением yii2-user? Вход в админку у меня не работал. Я использую localhost для внешнего интерфейса и localhost/admin для внутреннего интерфейса. Внешний интерфейс работает нормально, но я не смог заставить его работать с серверной частью из-за темы AdminLTE. Любые подсказки?

Я подозреваю, что проблема в приведенном ниже фрагменте кода. Он использует SitController по умолчанию, а не AdminController из расширения yii2-user.

Приведенный ниже код взят из backend/view/layout/main.php.

if (Yii::$app->controller->action->id === 'login') {
echo $this->render(
    'main-login',
    ['content' => $content]
);
} 

person Yonas Alemayehu    schedule 25.05.2015    source источник


Ответы (2)


Добавление приведенной ниже конфигурации в бэкэнд main.conf устранило мою проблему.

'user' => [
    // following line will restrict access to admin page
    'class' => 'dektrium\user\Module',        
    'as backend' => 'dektrium\user\filters\BackendFilter',
    **'controllers' => ['profile', 'recovery', 'registration', 'settings'],**
],
person Yonas Alemayehu    schedule 28.05.2015

Я использую yii2-advanced и расширения:

  • аутентификация: "dektrium/yii2-user": "^0.9.14",
  • adminlte темы: "dmstr/yii2-adminlte-asset": "^2.6",

все контроллеры и действия выглядят отлично, кроме вход, забыл пароль, регистрация, повторная отправка подтверждения. те вызывают левый, верхний и нижний колонтитулы, как если бы они вошли в систему, хотя должны вызывать только макет основного входа.

после настройки в backend/config/main.php добавлено:

'modules' => [
    'user' => [
        'class' => 'dektrium\user\Module',
        'controllerMap' => [
            'recovery' => [
              'class' => 'dektrium\user\controllers\RecoveryController',
              'layout' => '@backend/views/adminlte/layouts/main-login',
            ],
            'registration' => [
              'class' => 'dektrium\user\controllers\RegistrationController',
              'layout' => '@backend/views/adminlte/layouts/main-login',
            ],
        ],
    ],
],

затем экран логин, забыли пароль, регистрация, повторная отправка подтверждения будут отображаться чистыми.

person R Syarif    schedule 16.06.2019
comment
можете ли вы аннотировать свой код, чтобы стало более очевидным, что вы сделали? - person Tarick Welling; 16.06.2019