Как сменить стандартный вид CakePhp

Как Вы помните, в одной из последних статей я писал про такой популярный php фреймворк как cakephp. В конце той статьи я привел небольшой пример работы CakePhp (быстрый старт), который просто выводит записи из базы данных.

Меня, как начинающего пользователя CakePHP, сразу заинтересовал один вопрос, ответить на который самостоятельно я не смог. Дело все в том, что записи из БД в том примере выводились по центру экрана, а сверху и снизу этот вывод обрамлялся стандартными шапкой (header) и подвалом (footer) от cakephp. Это меня немного удивило, так как я ожидал что выведены будут только посты (я ведь другого оформления не делал сам). Так вот, возникла проблема – нужно было убрать все лишнее с экрана.

Определившись с задачей, я долго лазил по папкам CakePHP, однако, шаблон со стандартными шапкой и футером так и не нашел. Полез на официальный сайт. Пробежавшись немного по мануалу, нашел все-таки решение.

Оказалось, что все, что находится в папке views Вашего проекта, будет выводиться в указанном месте нужного layout`а. А для задания общего визуального каркаса приложения, нужно создать свой layout. Если его не создать самому, то будет выведен стандартный (откуда он берется до сих пор остается для меня загадкой), что и произошло в моем случае.

Не совсем понятно? Сейчас на примере все покажу.

Вспомним пример из предыдущей статьи про cakephp и дополним его немного. А именно, создадим в папке /app/views/layouts следующий файл:

default.ctp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title_for_layout?></title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<div>Header</div>
<h1>Hello, world!</h1>
<!-- Здесь будут выводиться "виды" наших элементов из папки views -->
<?php echo $content_for_layout ?>
<div>Footer</div>
</body>
</html>

Если теперь выполнить этот пример, то вместо стандартного оформления CakePhp вы увидите наше собственное, из файла default.ctp.

Здесь все очень просто – достаточно указать вывод нужных элементов в нужных местах.

Можете пока поэкспериментировать. Удачи! :)



Теги: ,


Читайте также:



4 Ответов на “Как сменить стандартный вид CakePhp”

  1. zurito

    а как убрать результат запроса к базе, который ниже?

  2. “(откуда он берется до сих пор остается для меня загадкой)” а откуда берутся все сообщения в кейке? в папке каке\либ\виев\лайот\ мож ошибся по памяти пишу, но где то там. Там прям как зеркало папки апп лежит. Я тоже сначала не мог понять как же он чета выводит на экран если я ничего не писал… =)

  3. Visibus

    Исправьте строчку в файле
    app\config\core.php

    Configure::write(‘debug’, 0);

  4. Ray

    Мануалы читать всегда надо) Cake очень грамотно сделан. У меня на работе фреймворк по архитектуре похож очень сильно на cake. И все эти согласования и, казалось бы, жесткие рамки на разработчика которые накладывает cake это очень поможет в будущем)


© Copyright. . I-Novice. All Rights Reserved. Terms | Site Map