Вы можете использовать преимущество тем, которые делают легким переключение вида вашей страницы и её быстрое и легкое заполнение.
Для использования тем вам необходимо сказать вашему контроллеру использовать класс ThemeView вместо класса по умолчанию View.
<?
class ExampleController extends AppController {
var $view = 'Theme';
}
?>
Для объявления темы, используемой по умолчанию, определите имя темы в вашем контроллере.
<?
class ExampleController extends AppController {
var $view = 'Theme';
var $theme = 'example';
}
?>
Вы также можете установить или изменить имя темы внутри действия или функций колбэков beforeFilter или beforeRender.
<? $this->theme = 'another_example'; ?>
Файлы тем должны быть в каталоге /app/views/themed/. Внутри каталога themed создайте папку с таким же именем, как и у вашей темы. Далее структура каталога в /app/views/themed/example/ точно такая же, как в /app/views/.
Например, файл отображения для действия edit контроллера Posts будет находиться в /app/views/themed/example/posts/edit.ctp. Файлы верстки будет находиться в /app/views/themed/example/layouts/.
Если файл отображения не может быть найден в теме, то CakePHP попытается найти файл в папке /app/views/. Таким образом, вы можете создать главные файлы отображений и просто подменять их от случая к случаю в вашем каталоге тем.
Если у вас есть специфические для вашей темы файлы CSS или Java Script?, то вы можете положить их в каталог webroot/themed. Например, ваша таблица стилей будет храниться в /app/webroot/themed/example/css/ и ваши Java Script? файлы будут в /app/webroot/themed/example/js/.
Все встроенные хелперы CakePHP осведомлены о темах и будут создавать правильные пути автоматически. Подобно файлам отображений, если файл не в каталоге темы, то по умолчанию он будет в главном webroot каталоге.