Как сделать раздел администратора в Yii2 (base)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
connor74
Сообщения: 19
Зарегистрирован: 2014.12.08, 20:24

Как сделать раздел администратора в Yii2 (base)

Сообщение connor74 »

Доброе время суток!
Yii2 - это первый фреймворк который начал осваивать, до этого в основном MODx был. Честно говоря осваивается очень с трудом, только начал в MVC въезжать. Пробую сделать простейший блог, понимаю, что многие вещи наверное коряво, но без практики вряд ли что получится.

Вопрос вот какой сложился:
Поискал на сайтах если и есть упоминание про админ-раздел то это касается версии advanced. Подскажите пожалуйста, как сделать раздел для просмотра посетителями и отдельно запароленный вход в админку и как её можно прикрутить.

Заранее благодарен!
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение futbolim »

Так там и посмотрите. Контроллер SiteController кажется.
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение mihail_dev »

если можно более конкретнее задачу поставьте
на каком варианте планируете базироваться (basic или advanced)?
немного не понятно какой именно административный раздел нужен(по идее у каждого модуля есть часть для пользователей и для администрации если вопрос как склеить всё во едино то это одно если над что-то иное тогда по подробнее)!?
Изображение
connor74
Сообщения: 19
Зарегистрирован: 2014.12.08, 20:24

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение connor74 »

Интересует для basic.

Попробую конкретизировать.

Делаю пробный блог, основу сделал через CRUD. В итоге, там прикручена возможность создания и редактирования записей. Теперь собственно что хотелось бы узнать:
1. Как вынести возможность редактировать и добавлять записи в какой-то отдельный раздел, доступный через ввод пароля.
2. Как закрыть этот доступ паролем.
3. Ну и хотелось бы понять возможно ли добавить возможность редактирования некоторых полей через WYSIWYG в админ-разделе.

Понимаю, что, возможно, вопросы элементарные, но пока на начальном этапе освоения yii.
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение mihail_dev »

1. вам надо просто сделать отдельный layout под бэкэнд и подключить во всех бэкендовских шаблонах именного его.
в шаблоне (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']],
				....

			],
		]);?>
аторизация должна быть в контролере SiteController::login
прочтите статьи
Аутентификация
Авторизация
Работа с паролями
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' => ['@', '?']
					],
				]
			]
		];
	}
3. можете воспользоваться моим приложением https://github.com/MihailDev/yii2-ckeditor
Изображение
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение mihail_dev »

ещё бы github работал вообще круто было бы
Изображение
connor74
Сообщения: 19
Зарегистрирован: 2014.12.08, 20:24

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение connor74 »

Спасибо, большое! попробую разобраться.
longmayar
Сообщения: 55
Зарегистрирован: 2014.12.08, 16:11

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение longmayar »

Интересная тема, правда её автор путает понятие CMS и Framework (как мне показалось).

Меня в рамках темы интересует немного другое. Наверняка есть какие-то уже зарекомендовавшие себя практики реализации Админки.

От Админки хочется некой обособленности. Чтобы её можно было вынести либо на отдельный поддомен admin.domen.ru/module/model/controller/action, либо структурно в отдельный раздел domen.ru/admin/module/model/controller/action

В Yii 1 можно было часть методов контроллера закрыть доступами для определенных ролей - вот вроде и все возможности. В Yii 2 теперь есть бэкэнд, фронтенд, модули и т.п. нововведения.

Если мы рассматриваем Базовую структуру приложения - как все это организовать? Модуль? Тогда непонятно где хранить общие для админки и не админки модели. Или все по старинке в админ-экшенах контроллеров?
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение 3ton »

longmayar писал(а):От Админки хочется некой обособленности. Чтобы её можно было вынести либо на отдельный поддомен admin.domen.ru/module/model/controller/action, либо структурно в отдельный раздел domen.ru/admin/module/model/controller/action
А почему Вам не подходит вариант
domen.ru/admin/user/dashboard/

где:
admin - модуль
user - контроллер
dashboard - экшен

вполне простая и довольно эффективная схема
весь функционал админки описываете в этом модуле и навешиваете на него авторизацию и привязываете запуск не авторизованного лишь к странице логина
longmayar
Сообщения: 55
Зарегистрирован: 2014.12.08, 16:11

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение longmayar »

3ton писал(а):
longmayar писал(а):А почему Вам не подходит вариант
domen.ru/admin/user/dashboard/

где:
admin - модуль
user - контроллер
dashboard - экшен
Админка в моем понимании должна иметь доступ к моделям всех модулей (а не только к своим). Как в таком случае с модулем их организовать?
connor74
Сообщения: 19
Зарегистрирован: 2014.12.08, 20:24

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение connor74 »

longmayar, я понимаю, что CMS и Framework - разные вещи. Но ведь хочется на выходе получить некую вещь, которая позволит сделать что-то отдаленно напоминающее CMS, но только с нужным тебе функционалом.
Я решил начать именно с блога. Казалось бы, зачем? Ставь Wordpress и радуйся. Так не нужна мне сия махина с кучей запросов к БД ради прорисовки одной страницы. А здесь, хочу и навыков поднабраться, ибо очень мне показалось интересной Yii2, и простейший блог собрать (пока только с возможностью публикации только администратором и без комментариев).

А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение zelenin »

longmayar писал(а):
В Yii 1 можно было часть методов контроллера закрыть доступами для определенных ролей - вот вроде и все возможности. В Yii 2 теперь есть бэкэнд, фронтенд, модули и т.п. нововведения.
что из этого нововведения? это все было и в yii1
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение zelenin »

3ton писал(а):
А почему Вам не подходит вариант
domen.ru/admin/user/dashboard/

где:
admin - модуль
user - контроллер
dashboard - экшен

вполне простая и довольно эффективная схема
весь функционал админки описываете в этом модуле и навешиваете на него авторизацию и привязываете запуск не авторизованного лишь к странице логина
любая из популярных схем будет проста и эффективна.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение zelenin »

longmayar писал(а): Админка в моем понимании должна иметь доступ к моделям всех модулей (а не только к своим). Как в таком случае с модулем их организовать?
а в чем проблема-то? модели и модули любых частей доступны откуда угодно.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение zelenin »

connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
делайте на базе advanced app - не ошибетесь.
connor74
Сообщения: 19
Зарегистрирован: 2014.12.08, 20:24

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение connor74 »

zelenin писал(а):
connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
делайте на базе advanced app - не ошибетесь.
Прошу прощения, не совсем понял, что сделать?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение zelenin »

connor74 писал(а):
zelenin писал(а):
connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
делайте на базе advanced app - не ошибетесь.
Прошу прощения, не совсем понял, что сделать?
админку
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение zelenin »

connor74 писал(а):
zelenin писал(а):
connor74 писал(а):
А админка.. да, в идеале конечно же её лучше бы как то отдельно. Ну пока ковыряюсь, думаю со временем соображу)).
делайте на базе advanced app - не ошибетесь.
Прошу прощения, не совсем понял, что сделать?
ну а доступ с помощью rbac. Все достаточно просто.
connor74
Сообщения: 19
Зарегистрирован: 2014.12.08, 20:24

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение connor74 »

то есть все таки нужна версия advanced?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как сделать раздел администратора в Yii2 (base)

Сообщение zelenin »

connor74 писал(а):то есть все таки нужна версия advanced?
нет, ничего не нужно. админку можно построить в любом интересном варианте. Но мой совет: используйте advanced. Это удобно и расширяемо, и структура уже продумана.
Закрыто