CakePHP: добавить строку по умолчанию к заголовкам страниц
Я устанавливаю отдельные заголовки страниц в действиях моих контроллеров, используя:
$this->set( 'title_for_layout', 'Some Title' );
Чего я хочу добиться, так это добавить строку заголовка сайта ко всем этим заголовкам перед рендерингом, то есть сказать "Some Title:: Site Name".
Самый простой выход - добавить эту строку вручную в каждую точку, где задан заголовок страницы, но это похоже на метод грубой силы.
Я пытался переопределить 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
(установленный в отдельных действиях в контроллере) еще не был установлен - который выдает эту ошибку.
Мой вопрос: где и как я могу добавить заголовок сайта глобально ко всем заголовкам страниц - если не таким образом?
Спасибо, м ^ е
2 ответа
Использование $this->pageTitle
вместо $this->title_for_layout
Если вы действительно хотите добавить одну и ту же строку ко всем заголовкам страниц, поместите ее в макет после $title_for_layout.