Titulok stránky v MVC v PHP
V súbore šablóny je tiež dostupná premenná
$title, ktorá obsahuje titulok stránky.
Je zrejmé, že tento nadpis bude tiež
rôzny pre rôzne stránky. Použime túto
premennú na svoj účel:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Aby bolo možné nastaviť titulok pre konkrétne
zobrazenie, je potrebné v kontroleri zapísať
ho do vlastnosti title:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Nastavíme titulok:
$this->title = 'Akcia act kontroléra test';
// Vykreslíme zobrazenie, odovzdáme nejaké dáta:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Upravte súbor šablóny a všetky vaše kontrolery tak, aby pre každé zobrazenie bol zobrazený jeho vlastný titulok.
Nech v kontroleri Page je dané nasledujúce
pole:
<?php
$this->pages = [
1 => ['title'=>'page 1', 'text'=>'text 1'],
2 => ['title'=>'page 2', 'text'=>'text 2'],
3 => ['title'=>'page 3', 'text'=>'text 3'],
];
?>
Vytvorte akciu show, ktorá bude
zobrazovať zadanú stránku. Nech v zobrazení
text stránky z kľúča 'text' bude
obalený do odseku a text z kľúča 'title'
sa stane titulkom stránky.