ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppMVUFmLy 15 of 35 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Тайтл страницы в 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' станет тайтлом страницы.

byenru