Как сделать раздел администратора в Yii2 (base)
Как сделать раздел администратора в Yii2 (base)
Доброе время суток!
Yii2 - это первый фреймворк который начал осваивать, до этого в основном MODx был. Честно говоря осваивается очень с трудом, только начал в MVC въезжать. Пробую сделать простейший блог, понимаю, что многие вещи наверное коряво, но без практики вряд ли что получится.
Вопрос вот какой сложился:
Поискал на сайтах если и есть упоминание про админ-раздел то это касается версии advanced. Подскажите пожалуйста, как сделать раздел для просмотра посетителями и отдельно запароленный вход в админку и как её можно прикрутить.
Заранее благодарен!
Yii2 - это первый фреймворк который начал осваивать, до этого в основном MODx был. Честно говоря осваивается очень с трудом, только начал в MVC въезжать. Пробую сделать простейший блог, понимаю, что многие вещи наверное коряво, но без практики вряд ли что получится.
Вопрос вот какой сложился:
Поискал на сайтах если и есть упоминание про админ-раздел то это касается версии advanced. Подскажите пожалуйста, как сделать раздел для просмотра посетителями и отдельно запароленный вход в админку и как её можно прикрутить.
Заранее благодарен!
Re: Как сделать раздел администратора в Yii2 (base)
Так там и посмотрите. Контроллер SiteController кажется.
- mihail_dev
- Сообщения: 243
- Зарегистрирован: 2013.07.17, 00:51
- Откуда: Молдова
- Контактная информация:
Re: Как сделать раздел администратора в Yii2 (base)
если можно более конкретнее задачу поставьте
на каком варианте планируете базироваться (basic или advanced)?
немного не понятно какой именно административный раздел нужен(по идее у каждого модуля есть часть для пользователей и для администрации если вопрос как склеить всё во едино то это одно если над что-то иное тогда по подробнее)!?
на каком варианте планируете базироваться (basic или advanced)?
немного не понятно какой именно административный раздел нужен(по идее у каждого модуля есть часть для пользователей и для администрации если вопрос как склеить всё во едино то это одно если над что-то иное тогда по подробнее)!?
Re: Как сделать раздел администратора в Yii2 (base)
Интересует для basic.
Попробую конкретизировать.
Делаю пробный блог, основу сделал через CRUD. В итоге, там прикручена возможность создания и редактирования записей. Теперь собственно что хотелось бы узнать:
1. Как вынести возможность редактировать и добавлять записи в какой-то отдельный раздел, доступный через ввод пароля.
2. Как закрыть этот доступ паролем.
3. Ну и хотелось бы понять возможно ли добавить возможность редактирования некоторых полей через WYSIWYG в админ-разделе.
Понимаю, что, возможно, вопросы элементарные, но пока на начальном этапе освоения yii.
Попробую конкретизировать.
Делаю пробный блог, основу сделал через CRUD. В итоге, там прикручена возможность создания и редактирования записей. Теперь собственно что хотелось бы узнать:
1. Как вынести возможность редактировать и добавлять записи в какой-то отдельный раздел, доступный через ввод пароля.
2. Как закрыть этот доступ паролем.
3. Ну и хотелось бы понять возможно ли добавить возможность редактирования некоторых полей через WYSIWYG в админ-разделе.
Понимаю, что, возможно, вопросы элементарные, но пока на начальном этапе освоения yii.
- mihail_dev
- Сообщения: 243
- Зарегистрирован: 2013.07.17, 00:51
- Откуда: Молдова
- Контактная информация:
Re: Как сделать раздел администратора в Yii2 (base)
1. вам надо просто сделать отдельный layout под бэкэнд и подключить во всех бэкендовских шаблонах именного его.
в шаблоне (layout под бэкэнд) сделайте менюшку куда вручную прописать все ссылки на админ часть каждого контроллера
чтот типа
аторизация должна быть в контролере SiteController::login
прочтите статьи
Аутентификация
Авторизация
Работа с паролями
https://github.com/yiisoft/yii2/tree/ma ... 1%82%D1%8C
если нужен будет более сложная работа с пользователями неплохое приложение https://github.com/dektrium/yii2-user
2. поидее круд в автомате генерит часть для редактирования закрытую но точно не помню вот код который должен быть в контролере
3. можете воспользоваться моим приложением https://github.com/MihailDev/yii2-ckeditor
в шаблоне (layout под бэкэнд) сделайте менюшку куда вручную прописать все ссылки на админ часть каждого контроллера
чтот типа
Код: Выделить всё
<?php echo Nav::widget([
'options' => ['class' => 'nav navbar-nav side-nav'],
'items' => [
['label' => Yii::t('user', 'Manage users'), 'url' => ['/user/admin/index']],
['label' => Yii::t('news', 'Новости'), 'url' => ['/news/admin/index']],
....
],
]);?>
прочтите статьи
Аутентификация
Авторизация
Работа с паролями
https://github.com/yiisoft/yii2/tree/ma ... 1%82%D1%8C
если нужен будет более сложная работа с пользователями неплохое приложение https://github.com/dektrium/yii2-user
2. поидее круд в автомате генерит часть для редактирования закрытую но точно не помню вот код который должен быть в контролере
Код: Выделить всё
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => ['admin', 'create', 'update', 'delete'],
'allow' => true,
'roles' => ['@']
],
[
'actions' => ['index', 'view'],
'allow' => true,
'roles' => ['@', '?']
],
]
]
];
}
- mihail_dev
- Сообщения: 243
- Зарегистрирован: 2013.07.17, 00:51
- Откуда: Молдова
- Контактная информация:
Re: Как сделать раздел администратора в Yii2 (base)
ещё бы github работал вообще круто было бы
Re: Как сделать раздел администратора в Yii2 (base)
Спасибо, большое! попробую разобраться.
Re: Как сделать раздел администратора в Yii2 (base)
Интересная тема, правда её автор путает понятие CMS и Framework (как мне показалось).
Меня в рамках темы интересует немного другое. Наверняка есть какие-то уже зарекомендовавшие себя практики реализации Админки.
От Админки хочется некой обособленности. Чтобы её можно было вынести либо на отдельный поддомен admin.domen.ru/module/model/controller/action, либо структурно в отдельный раздел domen.ru/admin/module/model/controller/action
В Yii 1 можно было часть методов контроллера закрыть доступами для определенных ролей - вот вроде и все возможности. В Yii 2 теперь есть бэкэнд, фронтенд, модули и т.п. нововведения.
Если мы рассматриваем Базовую структуру приложения - как все это организовать? Модуль? Тогда непонятно где хранить общие для админки и не админки модели. Или все по старинке в админ-экшенах контроллеров?
Меня в рамках темы интересует немного другое. Наверняка есть какие-то уже зарекомендовавшие себя практики реализации Админки.
От Админки хочется некой обособленности. Чтобы её можно было вынести либо на отдельный поддомен admin.domen.ru/module/model/controller/action, либо структурно в отдельный раздел domen.ru/admin/module/model/controller/action
В Yii 1 можно было часть методов контроллера закрыть доступами для определенных ролей - вот вроде и все возможности. В Yii 2 теперь есть бэкэнд, фронтенд, модули и т.п. нововведения.
Если мы рассматриваем Базовую структуру приложения - как все это организовать? Модуль? Тогда непонятно где хранить общие для админки и не админки модели. Или все по старинке в админ-экшенах контроллеров?
Re: Как сделать раздел администратора в Yii2 (base)
А почему Вам не подходит вариантlongmayar писал(а):От Админки хочется некой обособленности. Чтобы её можно было вынести либо на отдельный поддомен admin.domen.ru/module/model/controller/action, либо структурно в отдельный раздел domen.ru/admin/module/model/controller/action
domen.ru/admin/user/dashboard/
где:
admin - модуль
user - контроллер
dashboard - экшен
вполне простая и довольно эффективная схема
весь функционал админки описываете в этом модуле и навешиваете на него авторизацию и привязываете запуск не авторизованного лишь к странице логина
Re: Как сделать раздел администратора в Yii2 (base)
Админка в моем понимании должна иметь доступ к моделям всех модулей (а не только к своим). Как в таком случае с модулем их организовать?3ton писал(а):longmayar писал(а):А почему Вам не подходит вариант
domen.ru/admin/user/dashboard/
где:
admin - модуль
user - контроллер
dashboard - экшен
Re: Как сделать раздел администратора в Yii2 (base)
longmayar, я понимаю, что CMS и Framework - разные вещи. Но ведь хочется на выходе получить некую вещь, которая позволит сделать что-то отдаленно напоминающее CMS, но только с нужным тебе функционалом.
Я решил начать именно с блога. Казалось бы, зачем? Ставь Wordpress и радуйся. Так не нужна мне сия махина с кучей запросов к БД ради прорисовки одной страницы. А здесь, хочу и навыков поднабраться, ибо очень мне показалось интересной Yii2, и простейший блог собрать (пока только с возможностью публикации только администратором и без комментариев).
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
Я решил начать именно с блога. Казалось бы, зачем? Ставь Wordpress и радуйся. Так не нужна мне сия махина с кучей запросов к БД ради прорисовки одной страницы. А здесь, хочу и навыков поднабраться, ибо очень мне показалось интересной Yii2, и простейший блог собрать (пока только с возможностью публикации только администратором и без комментариев).
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
Re: Как сделать раздел администратора в Yii2 (base)
что из этого нововведения? это все было и в yii1longmayar писал(а):
В Yii 1 можно было часть методов контроллера закрыть доступами для определенных ролей - вот вроде и все возможности. В Yii 2 теперь есть бэкэнд, фронтенд, модули и т.п. нововведения.
Re: Как сделать раздел администратора в Yii2 (base)
любая из популярных схем будет проста и эффективна.3ton писал(а):
А почему Вам не подходит вариант
domen.ru/admin/user/dashboard/
где:
admin - модуль
user - контроллер
dashboard - экшен
вполне простая и довольно эффективная схема
весь функционал админки описываете в этом модуле и навешиваете на него авторизацию и привязываете запуск не авторизованного лишь к странице логина
Re: Как сделать раздел администратора в Yii2 (base)
а в чем проблема-то? модели и модули любых частей доступны откуда угодно.longmayar писал(а): Админка в моем понимании должна иметь доступ к моделям всех модулей (а не только к своим). Как в таком случае с модулем их организовать?
Re: Как сделать раздел администратора в Yii2 (base)
делайте на базе advanced app - не ошибетесь.connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
Re: Как сделать раздел администратора в Yii2 (base)
Прошу прощения, не совсем понял, что сделать?zelenin писал(а):делайте на базе advanced app - не ошибетесь.connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
Re: Как сделать раздел администратора в Yii2 (base)
админкуconnor74 писал(а):Прошу прощения, не совсем понял, что сделать?zelenin писал(а):делайте на базе advanced app - не ошибетесь.connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
Re: Как сделать раздел администратора в Yii2 (base)
ну а доступ с помощью rbac. Все достаточно просто.connor74 писал(а):Прошу прощения, не совсем понял, что сделать?zelenin писал(а):делайте на базе advanced app - не ошибетесь.connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
Re: Как сделать раздел администратора в Yii2 (base)
то есть все таки нужна версия advanced?
Re: Как сделать раздел администратора в Yii2 (base)
нет, ничего не нужно. админку можно построить в любом интересном варианте. Но мой совет: используйте advanced. Это удобно и расширяемо, и структура уже продумана.connor74 писал(а):то есть все таки нужна версия advanced?