Как лучше загрузить верхний и нижний колонтитулы в CakePHP?

Я намочил ноги с CakePHP и задаюсь вопросом, что лучше загружать просмотры. Я пытался искать, но не смог найти удовлетворительного ответа на этот небольшой вопрос. Если мне нужно загрузить верхний и нижний колонтитулы вместе с содержимым, какой подход лучше:

1) Использование $this->fetch("header") в view.ctp

или 2) я не знаю, как это возможно, но загружать разные представления одно за другим из контроллера, как мы это делаем в CodeIgniter ($this->load->view("header")).


person akshayb    schedule 16.10.2013    source источник
comment
Скорее всего, вы захотите использовать элементы, а не блоки (как вы упомянули в № 1). Элементы, вероятно, являются ближайшим аналогом того, что вы упомянули в № 2. book.cakephp.org/2.0/en/views.html#elements   -  person Kai    schedule 16.10.2013
comment
Вы должны отказаться от идеи рендеринга верхнего и нижнего колонтитула отдельно, как это делает Wordpress. На мой взгляд, хранить их по отдельности не рекомендуется — они разработаны вместе как HTML и должны храниться вместе. В MVC-подобных фреймворках это называется макетом, который, по сути, является внешней частью вашего документа. В большинстве фреймворков в точках содержимого добавляется кусок PHP, который обычно один.   -  person halfer    schedule 16.10.2013


Ответы (1)


Как упомянул пользователь 2076809, вы, вероятно, захотите использовать элементы для этой цели, чтобы все было СУХИМ: book.cakephp.org/2.0/en/views.html#elements.

Имейте в виду, что Cake использует макеты (http://book.cakephp.org/2.0/en/views.html#layouts) для обработки верхнего и нижнего колонтитула по умолчанию, поэтому взгляните на app/View/Layouts/default.ctp и убедитесь, что там нет избыточного кода (например, , он имеет тег <head> со всеми включенными CSS по умолчанию).

person Erebus    schedule 16.10.2013
comment
и есть один $this-›render('/Overviews/overview'); метод, а я нашел. Мы не должны использовать его? - person akshayb; 16.10.2013