CakePHP : Manual/Developing/Views/Themes

Темы


Вы можете использовать преимущество тем, которые делают легким переключение вида вашей страницы и её быстрое и легкое заполнение.

Для использования тем вам необходимо сказать вашему контроллеру использовать класс 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 или JavaScript, то вы можете положить их в каталог webroot/themed. Например, ваша таблица стилей будет храниться в /app/webroot/themed/example/css/ и ваши JavaScript файлы будут в /app/webroot/themed/example/js/.

Все встроенные хелперы CakePHP осведомлены о темах и будут создавать правильные пути автоматически. Подобно файлам отображений, если файл не в каталоге темы, то по умолчанию он будет в главном webroot каталоге.

<< Элементы | Медиа отображения >>