У меня есть простой вопрос, я пытаюсь использовать ОДИН макет по умолчанию с верхним и нижним колонтитулами, чтобы автоматически показывать в других.ctp файлах, когда я их делаю, но по какой-то причине я не могу этого сделать, а также думал о том, чтобы использовать один файл javascript для показать на всех других страницах, может ли кто-нибудь дать мне пример о том, как сделать верхний и нижний колонтитулы из одного файла по умолчанию отображаться во всех других файлах.
спасибо за помощь
Вот пример вашего default.ctp
default.ctp
<html>
<head>
<!--
//here your javascript yourscript.js
//It will be present in all your views.
//the file has to be present in /app/webroot/js
-->
echo $this->Html->script('yourscript');
</head>
<body>
<!--
//header
//the file header.ctp has to be present in /View/Elements
-->
echo $this->element('header');
<!--
//here the content, for example from /View/Posts/edit.ctp
-->
echo $this->fetch('content');
<!--
//footer
//the file footer.ctp has to be present in /View/Elements
-->
echo $this->element('footer');
</body>
</html>
$this-> fetch ('content') ist "волшебная" часть CakePHP. Здесь будет выведено ваше мнение.
footer
иheader
внутри вызова layout.ctp, а затем так:<?php echo $this->Element('footer'); ?>
. Затем попробуйте проверить ... Далее, вы можете вызвать свой макет внутри функцииbeforeSave
вAppController
следующим образом:$this->layout = 'layout';
, Это гарантирует, что все ваши страницы загружают содержимоеheader
иfooter