Организация админки, собираю инфу

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Организация админки, собираю инфу

Сообщение slavcodev »

serzhiio писал(а):В модуле, в beforeControllerAction
Это плохое решение, т.к. в этом уже созданы CController и CAction
Жду Yii 3!
serzhiio
Сообщения: 60
Зарегистрирован: 2011.01.30, 14:09

Re: Организация админки, собираю инфу

Сообщение serzhiio »

Controller я не меняю... только Action и то, только в том случае, если есть другой специфичный экшен.
P.S.: Но думаю что без проблем можно подцепиться при инициализации контроллера, когда ещё Экшенов нет.
Аватара пользователя
yuran80
Сообщения: 114
Зарегистрирован: 2010.03.21, 10:39
Откуда: Украина, Луцк
Контактная информация:

Re: Организация админки, собираю инфу

Сообщение yuran80 »

Очень понравилось решение от создателя Yii - http://www.yiiframework.com/wiki/155/th ... ject-site/
Но его использовать реально только в больших проектах. ИМХО
Аватара пользователя
mitaichik
Сообщения: 512
Зарегистрирован: 2010.09.24, 21:18
Откуда: Россия, Санкт-Петербург

Re: Организация админки, собираю инфу

Сообщение mitaichik »

Раз уж речь зашла об админках, расскажу как организовал темы (тем более на форуме встречались вопросы по тому, как сделать набор тем и выбирать из них)

Сразу скажу, у меня один набор файлов обслуживает сразу много сайтов. Правильно настроив Apache, пользователей FreeBSD и сессии/куки с безопасностью проблем не должно быть. А поддерживать все это гораздо легче, и разрабатывать легче, и т.д.

Теперь к темам.

Все темы я разделил на 2 типа:
1. Темы конкретного сайта
2. Шаблонные темы

Выбор темы отображен на рисунке. Там нет тем для конкретного сайта, да и шаблонная всего одна, но суть понятна.
Выбор темы
Выбор темы
1.jpg (29.77 КБ) 3171 просмотр
В настройках сайта есть 2 параметра : Тип темы (для сайта или шаблонная), и название темы. В зависимости от них, в config/main.php устанавливаются basePath и baseUrl, а так же прочие пути.

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

С шаблонными темами сложней: Они могут применяться для многих сайтов. Поэтому они должны настраиваться под конкретный сайт. Под настройкой я понимаю следующие вещи:
1. Изменение CSS (например цвет страницы, цвет ссылок ...)
2. Изменение изображений (например, логотип)
3. Отображать/скрывать какие-либо виджеты
4. Выбор скинов для виджетов

Каждая шаблонная тема имеет все эти настройки по умолчанию. Но если пользователь захочет - он может их изменить. Естественно, только для своего сайта. Поэтому наряду с папкой для шаблонной темы, должна быть папка с файлами настроек для нее (она у меня находиться так же в папке конкретного сайта).

Например, сайт с шаблонной темой подгружает 2 таблицы стилей: 1 - из папки шаблона (со всеми стилями для сайта), 2 - из папки сайта (там содержатся те стили, которые переопределяют шаблонные)

С рисунками по другому - если рисунок является переопределяемым, то сначала он ищется в папке сайта, если там нет - берется из папки шаблона.

Вот пример настройки шаблонной темы:
2.jpg
2.jpg (46.42 КБ) 3171 просмотр
Далее, идем еще дальше:
Настраивать шаблон из админки не удобно. Горазд удобней на фронтенде, когда сразу видишь результат. Поэтому сделан неболшой поп-ап виджет для настройки:
3.jpg
3.jpg (74.93 КБ) 3171 просмотр
Самое прикольное - когда водишь курсором, выбирая цвет, он тут-же меняется на сайте. Это делает процесс изменения сайта максимально интерактивным. Плюс к этому - выбираешь рисунок (к примеру, логотип), нажимаешь кнопку сохранить, а он ajax'ом загружается на сайт и обновляется. И все это без перезагрузки страницы. Очень удобно.

Все это позваляет менять внешний вид в считанные секунды.
Последний раз редактировалось mitaichik 2011.03.12, 04:49, всего редактировалось 3 раза.
Аватара пользователя
mitaichik
Сообщения: 512
Зарегистрирован: 2010.09.24, 21:18
Откуда: Россия, Санкт-Петербург

Re: Организация админки, собираю инфу

Сообщение mitaichik »

Вот пару примеров:
5.jpg
5.jpg (78.2 КБ) 3171 просмотр
6.jpg
6.jpg (73.44 КБ) 3171 просмотр
serzhiio
Сообщения: 60
Зарегистрирован: 2011.01.30, 14:09

Re: Организация админки, собираю инфу

Сообщение serzhiio »

Молодец, очень здорово организовал. Может FAQ напишешь? А то я с админкой засел поп полной.
Аватара пользователя
mitaichik
Сообщения: 512
Зарегистрирован: 2010.09.24, 21:18
Откуда: Россия, Санкт-Петербург

Re: Организация админки, собираю инфу

Сообщение mitaichik »

FAQ на какую тему?
serzhiio
Сообщения: 60
Зарегистрирован: 2011.01.30, 14:09

Re: Организация админки, собираю инфу

Сообщение serzhiio »

Организация админки :)
dave101ua
Сообщения: 7
Зарегистрирован: 2012.04.24, 16:36

Re: Организация админки, собираю инфу

Сообщение dave101ua »

yuran80 писал(а):Очень понравилось решение от создателя Yii - http://www.yiiframework.com/wiki/155/th ... ject-site/
Но его использовать реально только в больших проектах. ИМХО
Почему ? по пунктам пожалуйста, мне сейчас самому нужно решить как я сделаю это у себя на проекте.
Ответить