Titolo della pagina in MVC in PHP
Nel file del template è anche disponibile la variabile
$title, che contiene il titolo della pagina.
È ovvio che anche questo titolo sarà
diverso per le varie pagine. Usiamo questa
variabile per lo scopo previsto:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Per impostare il titolo per una specifica
vista è necessario nel controller scriverlo
nella proprietà title:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Impostiamo il titolo:
$this->title = 'Azione act del controller test';
// Renderizziamo la vista, passando alcuni dati:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Modificate il file del template e tutti i vostri controller in modo che per ogni vista venga visualizzato il proprio titolo.
Supponiamo che nel controller Page sia presente il seguente
array:
<?php
$this->pages = [
1 => ['title'=>'page 1', 'text'=>'text 1'],
2 => ['title'=>'page 2', 'text'=>'text 2'],
3 => ['title'=>'page 3', 'text'=>'text 3'],
];
?>
Create un'azione show, che
visualizzerà una pagina specificata. Nellla vista,
il testo della pagina dalla chiave 'text' deve essere
racchiuso in un paragrafo, mentre il testo dalla chiave 'title'
diventerà il titolo della pagina.