Тítulo de la página en MVC en PHP
En el archivo de plantilla también está disponible la variable
$title, que contiene el título de la página.
Obviamente, este título también será
diferente para varias páginas. Usemos
esta variable para su propósito:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Para establecer el título para una vista específica
es necesario escribirla en la propiedad
title en el controlador:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Establezcamos el título:
$this->title = 'Acción act del controlador test';
// Rendericemos la vista, pasando algunos datos:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Modifique el archivo de plantilla y todos sus controladores para que se muestre un título específico para cada vista.
Supongamos que en el controlador Page está el siguiente
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'],
];
?>
Cree una acción show, que
mostrará la página especificada. Que en la vista
el texto de la página de la clave 'text' esté
envuelto en un párrafo, y el texto de la clave 'title'
se convierta en el título de la página.