Панель администратора

Различные вопросы по установке и настройке фреймворка, конфигурции веб-сервера и IDE.
Ответить
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Панель администратора

Сообщение Dirfak »

Версия yii2 basic+twig
есть два контроллера Frontend & Backend
и две папки с вьюхами frontend и backend соответственно.
Frontend настроен по умолчанию и все ок работает.
Вопрос такой: что нужно делать чтобы при переходе по ссылке с backend (пример, site.ru/backend, site.ru/backend/post & etc.) обработку перехватывал контроллер Backend и вьюхи были его соответственно?

P.S. Сразу говорю, пробовал использовать модуль панели админа (asdfstudio), часа 3 мучился (гугл не особо помог), в итоге ничего толкового для решения возникших проблем(модуль не создавался, хоть убей) не нашел, поэтому плюнул на это дело.

P.S.S. Реально ли сделать решение для моего вопроса или же биться дальше об стену с модулями?
Если с модулями, какой можете посоветовать чтобы попроще и без танцев с бубном? (слишком навороченный как AdminLTE Asset Bundle не надо, мне всего то нужно приделать добавление/удаление/редактирование статей)
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

...
Последний раз редактировалось SiZE 2016.08.17, 09:32, всего редактировалось 1 раз.
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Re: Панель администратора

Сообщение Dirfak »

а можно пример или более развернутый ответ?
А то настраивать можно много чего и по разному...а я толком не пойму что и куда.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

Я не правильно понял изложенную информацию. Для контроллеров ничего прописывать не надо. Если имя контроллера соответствует имени в запросе, то они обрабатываются автоматически в Yii2. Судя по описанию у вас все должно подтягиваться без специальных настроек.
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Re: Панель администратора

Сообщение Dirfak »

есть два контроллера FrontendController и BackendController, и соответствующие к ним вьюхи.
когда делаю простые запросы(site.ru, site.ru/about и т.д.) работает фронтенд,
а я хочу сделать чтобы ссылки типа site.ru/backend/* обрабатывал бакенд контроллер, что для этого сделать надо?
по умолчанию он не работает (фронтенд выдает страницу ошибки).
что нужно прописать в urlmanager в конфиге?
или вообще что надо сделать чтобы site.ru/backend/* обрабатывал бакенд контроллер, а остальные фронтенд?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

какие правила маршрутизации прописаны в конфиге, что в .htaccess?
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Re: Панель администратора

Сообщение Dirfak »

Код: Выделить всё

    'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'suffix'=>'/',
            'rules' => [
                'backend' => 'backend/index',
                'backend/<action:[\\w\\-]+>' => 'backend/<action>',
                '<action:\w+>' => 'frontend/<action>',
            ],
        ],
ничего не работает.
в .htaccess простое перенаправление запросов на index.php

Код: Выделить всё

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php
</IfModule>
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

что, даже если набрать /backend тоже не переходит?
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Re: Панель администратора

Сообщение Dirfak »

да, набираю http://site.ru/backend выдает страницу ошибки из контроллера frontend
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

а если /backend/ ?
Аватара пользователя
za4me
Сообщения: 152
Зарегистрирован: 2016.06.26, 15:29
Контактная информация:

Re: Панель администратора

Сообщение za4me »

А зачем вам какие-то правила маршрутизации если в зависимости от контроллера frontend/backend будут автоматически подгружаться view указанного контроллера?

Попробуйте убрать все правила из rules.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

za4me писал(а):А зачем вам какие-то правила маршрутизации.
так у него страницы /about, /contacts и тп Просто криво правила описаны видимо.
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Re: Панель администратора

Сообщение Dirfak »

во-первых,SiZE, site.ru/backend/ заработало (хотя до этого я заходил по такой ссылке и не работало...магия блин)
посмотрю как при других действиях заработает, только можете сказать разницу между:

Код: Выделить всё

<action:[\\w\\-]+> and <action:\w+>? 
во-вторых, za4me, как ответил SiZE у меня ссылки contacts и т.д. и если уберу все правила, то ссылки примут вид controller/action, а мне нужен только action
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

Это не магия... это так правила у тебя настроены.
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Re: Панель администратора

Сообщение Dirfak »

Код: Выделить всё

'backend' => 'backend/index',
                'backend/<action:[\\w\\-]+>' => 'backend/<action>',
                '<action:\w+>' => 'frontend/<action>', 
с таким правилом же он должен без слеша переходить, разве нет?

Ну да ладно, я тут столкнулся с другой проблемой:
BackendController

Код: Выделить всё

 public function actionIndex()
    {
        if(Yii::$app->user->isGuest) {
            return Yii::$app->response->redirect('login/');//,302
        }
        $this->getView()->title = 'Панель администратора';
        return $this->render('index.twig');
    }
    
    public function actionLogin()
    {
        if (!Yii::$app->user->isGuest) {
            return $this->goHome();
        }

        $this->getView()->title = 'Вход в панель администратора';
        $model = new LoginForm();
        if ($model->load(Yii::$app->request->post()) && $model->login()) {
            return $this->goBack();
        }
        return $this->render('login.twig', [
            'model' => $model,
        ]);
    } 
суть такова: перехожу по ссылке site.ru/backend/ он перенаправляет на site.ru/backend/login - залогиниваюсь и меня перенаправляет не на site.ru/backend/ , а на site.ru...
В чем дело?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

В конфиге http://www.yiiframework.com/doc-2.0/yii ... Url-detail

Придется в init контроллера заменить конфигурацию, но это не очевидно и в будущем принесет только геомороя.
Dirfak
Сообщения: 25
Зарегистрирован: 2016.08.10, 20:47

Re: Панель администратора

Сообщение Dirfak »

хмм, а как по другому можно эту проблему решить или лучше простой редирект на главную админки сделать?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Панель администратора

Сообщение SiZE »

Dirfak писал(а):хмм, а как по другому можно эту проблему решить или лучше простой редирект на главную админки сделать?
Использовать advanced шаблон.
Mamed3
Сообщения: 1
Зарегистрирован: 2016.09.03, 12:09

Панель администратора

Сообщение Mamed3 »

Как убрать боковую панель на форуме? Хочу вернуть назад, как все было. Куда нажимать?
Ответить