Стандартная раскладка cakePHP

0

У меня есть простой вопрос, я пытаюсь использовать ОДИН макет по умолчанию с верхним и нижним колонтитулами, чтобы автоматически показывать в других.ctp файлах, когда я их делаю, но по какой-то причине я не могу этого сделать, а также думал о том, чтобы использовать один файл javascript для показать на всех других страницах, может ли кто-нибудь дать мне пример о том, как сделать верхний и нижний колонтитулы из одного файла по умолчанию отображаться во всех других файлах.

спасибо за помощь

  • 0
    версия 2.6.2
  • 1
    Как я знаю, вы определяете footer и header внутри вызова layout.ctp, а затем так: <?php echo $this->Element('footer'); ?> . Затем попробуйте проверить ... Далее, вы можете вызвать свой макет внутри функции beforeSave в AppController следующим образом: $this->layout = 'layout'; , Это гарантирует, что все ваши страницы загружают содержимое header и footer
Показать ещё 5 комментариев
Теги:
model-view-controller
cakephp
ctp

1 ответ

1

Вот пример вашего 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. Здесь будет выведено ваше мнение.

  • 0
    ОП, это лучший вариант. Какие бы предметы вы не использовали повторно, создайте их как «элемент». Таким образом, вы можете иметь согласованный верхний и нижний колонтитулы, которые можно использовать в нескольких макетах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню