Titlul paginii în MVC în PHP
În fișierul șablon este de asemenea disponibilă variabila
$title, care conține titlul paginii.
Evident, acest titlu va fi de asemenea
diferit pentru diverse pagini. Să folosim
această variabilă conform destinației:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Pentru a seta titlul pentru o anumită
reprezentare este necesar în controller să se scrie
acesta în proprietatea title:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Să setăm titlul:
$this->title = 'Acțiunea act a controller-ului test';
// Să randăm reprezentarea, transmitând niște date:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Modificați fișierul șablon și toate controllerele dumneavoastră astfel încât pentru fiecare reprezentare să fie afișat propriul titlu.
Fie în controller-ul Page următorul
vector:
<?php
$this->pages = [
1 => ['title'=>'page 1', 'text'=>'text 1'],
2 => ['title'=>'page 2', 'text'=>'text 2'],
3 => ['title'=>'page 3', 'text'=>'text 3'],
];
?>
Realizați acțiunea show, care va
afișa pagina dată. Fie ca în reprezentare
textul paginii din cheia 'text' să fie
înfășurat în paragraf, iar textul din cheia 'title'
să devină titlul paginii.