Тайтл страницы в MVC в PHP
В файле шаблона также доступна переменная
$title
, содержащая тайтл страницы.
Очевидно, что этот заголовок также будет
разным для различных страниц. Давайте используем
эту переменную по назначению:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Для того, чтобы задать тайтл для определенного
представления необходимо в контроллере записать
его в свойство title
:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Зададим тайтл:
$this->title = 'Действие act контроллера test';
// Отрендерим представление, передав какие-то данные:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Модифицируйте файл шаблона и все ваши контроллеры так, чтобы для каждого представления выводился свой тайтл.
Пусть в контроллере Page
дан следующий
массив:
<?php
$this->pages = [
1 => ['title'=>'страница 1', 'text'=>'текст страницы 1'],
2 => ['title'=>'страница 2', 'text'=>'текст страницы 2'],
3 => ['title'=>'страница 3', 'text'=>'текст страницы 3'],
];
?>
Сделайте действие show
, которое будет
выводить заданную страницу. Пусть в представлении
текст страницы из ключа 'text'
будет
обернут в абзац, а текст из ключа 'title'
станет тайтлом страницы.