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 каталоге.

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