CakePHP: добавить строку по умолчанию к заголовкам страниц - PullRequest
2 голосов
/ 30 ноября 2010

Я устанавливаю отдельные заголовки страниц в действиях моих контроллеров, используя:

$this->set( 'title_for_layout', 'Some Title' );

Чего я хочу добиться, это добавить строку заголовка сайта ко всем этим заголовкам перед рендерингом, например, "Некоторое название :: Название сайта" .

Самый простой выход - добавить эту строку вручную в каждую точку, где задан заголовок страницы, но это похоже на перебор.

Я пытался переопределить beforeRender() метод каждого контроллера и добавьте следующее утверждение:

$this->set( 'title_for_layout', $this->title_for_layout . ' » ' . Configure::read( 'Site.title' ) );

Я думал, что это добавит заголовок сайта к заголовку страницы для каждого действия - но вместо этого я получаю:

Notice (8): Undefined variable: SomeController::title_for_layout [APP\controllers\some_controller.php, line xx]

Кажется, что title_for_layout (установленный в отдельных действиях в контроллере) еще не был установлен - который выдает эту ошибку.

Мой вопрос: где и как я могу добавить заголовок сайта глобально ко всем заголовкам страниц - если не таким образом?

Спасибо, m ^ e

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Если вы действительно хотите добавить такую ​​же строку к всем заголовкам вашей страницы, поместите ее в макет после $ title_for_layout.

1 голос
/ 30 ноября 2010

используйте $this->pageTitle вместо $this->title_for_layout

...