Как использовать default.ctp в cakephp - PullRequest
2 голосов
/ 16 июня 2010

Я только что закончил "15-минутное руководство по записи в блоге", включенное в документацию для cakephp. Меня попросили еще один урок, чтобы изменить макет первого урока.

Тем не менее, я довольно новичок в программировании MVC / Cakephp, и я понятия не имею, как это сделать. Ну, я знаю, что мне нужно поместить файл default.ctp в app / views / layouts /, и я предполагаю, что мне нужно включить включить мои данные? , , .

Я действительно не понимаю, что делать. Я установил свой default.ctp, как я уже упоминал выше, но когда я перехожу на localhost: 9999 / posts, макет остается прежним. Я думаю, мне нужно включить таблицу стилей (и если да, то где?)

Полагаю, если кто-нибудь укажет мне в правильном направлении руководство для начинающих по макетированию или как его использовать, я был бы очень признателен за любую помощь.

Ответы [ 4 ]

2 голосов
/ 11 февраля 2012
  1. Создайте в приложении / Просмотр / Макет файл с именем " my_posts_layout.ctp "

  2. В вашем PostController установите $ this->layout = ' my_posts_layout ';

Таким образом, вы должны просматривать контент, определенный в my_posts_layout.ctp.

2 голосов
/ 16 июня 2010

Я бы посоветовал вам прочитать из поваренной книги следующее: Макеты и CSS . Затем скопируйте макет с /cake/libs/view/layouts/ на /app/views/layouts/ и измените его в соответствии со своими потребностями. После этого создайте свою таблицу стилей (или измените существующую) в /app/webroot/css/ и включите ее в свой макет.

1 голос
/ 16 июня 2010

Отсутствие таблиц стилей здесь никак не сказывается.

Как MVC работает в CakePHP:

  • Маршрутизатор отправляет входящий запрос соответствующему контроллеру.

  • Выполняется соответствующая функция контроллера (без вывода данных, просто выборка данных, настройка переменных).

  • Отобразится соответствующий вид. Фактически, вывод представления просто содержится в $ content_for_layout.

  • То, что вы действительно получаете в браузере, находится в макете. Поэтому вы можете поместить вывод вашего представления в макет с помощью echo $content_for_layout в default.ctp. (Конечно, вы также можете иметь разные макеты.) Кроме того, макет может быть дополнен элементами.

0 голосов
/ 16 июня 2010

Я действительно рекомендую кулинарную книгу CakePHP, которую легко найти на домашней странице CakePHP. Изменение default.ctp должно изменить макет вашего приложения.

Более конкретный вопрос (например, примеры кода вашего default.ctp, ожидаемые результаты и т. Д.) Может помочь людям дать лучший ответ, чем мой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...