Переход к themes

Добрый вечер!

В попытке улучшения своей CMS пришел к тому, что нужно ввести папку themes, но сейчас в раздумьях как лучше организовать и правильнее. Сейчас у меня структура такая:

protected

–views

—layouts

----admin.php

----guest.php

А в папке public есть css, img, js, в кждой из которых по две папки - admin и guest со своими файлами.

Вопросы такие:

  1. Как мигрировать guest в тему, а admin оставить лежать в protected, т.к. форма и содержание админки не меняется, а гостевые темы меняются часто.

  2. Где переопределить


class CThemeManager extends CApplicationComponent

{

	/**

	 * default themes base path

	 */

	const DEFAULT_BASEPATH='themes';

Создавать наследуемый файл в components или extensions ради одной строчки? или это можно задать из конфига?

Заранее спасибо.

Просто перенести виды для guest в каталог с темами. Далее, если у вас одна точка входа, в конфигурации приложения назначить тему, а в контроллерах админки сделать в методе init() её обнуление. Если две точки входа, с двумя разными конфигурациями для фронтальной и административной части, то ещё проще. Просто прописать в конфигурации фронтальной части название темы.

Переопределить можно через конфигурацию. Смотрите свойства basePath и baseUrl компонента CThemeManager, они не read only.

Мне кажется админку удобней в отдельном модуле держать :)

Спасибо!

С первым понятно, а вот со вторым проблема.

Со вторым уже тоже разобрался :)

to Albert

Это очень спорный вопрос, админку можно держать как отдельным модулем, так и отдельным приложением со своим конфигом и точкой входа, а можно держать в основном приложении, разруливая права RBAC. Оптимального варианта нет, у каждого случая есть свои плюсы и минусы.