2010-11-30 1 views
2

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

$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 (набор в отдельных действий в контроллере) не был установлен еще - который бросает эту ошибку.

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

Спасибо, м^е

ответ

1

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

+0

Это то, что я пробовал сначала, но $ this-> pageTitle не работает, и я читал в другом сообщении о Nabble, что $ this-> pageTitle устарел в Cake 1.3.x в пользу title_for_layout. Кроме того, он производит одно и то же уведомление Undefined var. – 2010-11-30 10:00:44

1

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