Как я могу установить одинаковый заголовок для всех действий / представлений контроллера? - PullRequest
1 голос
/ 18 октября 2011

Все действия / представления будут иметь одинаковый заголовок.

Как =>

<?php $this->set('title_for_layout', 'mysite'); ?>

Как мне установить этот заголовок для всех действий / просмотров в CakePHP?

Ответы [ 3 ]

4 голосов
/ 18 октября 2011

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

<title><?php echo $title_for_layout; ?> - My Site Name</title>

таким образом вы можете иметь динамический заголовок, и имя вашего сайта будет отображаться на <title> страницы.

Если вы не хотите этого, вы можете установить значение в beforeFilter в вашем app_controller.php:

function beforeFilter() {
    parent::beforeFilter();
    $this->set('title_for_layout', 'My Site');
}

Это даст каждому действию / просмотру заголовок My Site, и при необходимости вы можете перезаписать его для каждого контроллера / действия.

Однако заголовок вашей страницы должен быть действительно уникальным для каждой страницы; поэтому, если у вас нет причины для того же названия, я бы рассмотрел иначе.

1 голос
/ 18 октября 2011

В вашем контроллере приложения установите его в функции обратного вызова beforeFilter()

class AppController extends Controller
{
    function beforeFilter()
    {
        $this->set('title_for_layout','Your title');
    }
}       
1 голос
/ 18 октября 2011

В контроллере вы можете установить:

функция beforeFilter () {

$ this-> pageTitle = "заголовок моей страницы";

родитель :: beforeFilter (); }

...