Тайтл страницы в MVC в PHP
In der Template-Datei ist auch die Variable
$title verfügbar, die den Seitentitel enthält.
Offensichtlich wird dieser Titel ebenfalls
für verschiedene Seiten unterschiedlich sein. Lassen Sie uns diese
Variable ihrem Zweck entsprechend verwenden:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Um einen Titel für eine bestimmte
Ansicht festzulegen, muss dieser im Controller
in die Eigenschaft title geschrieben werden:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Titel setzen:
$this->title = 'Aktion act des Controllers test';
// Rendern der Ansicht unter Übergabe einiger Daten:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Modifizieren Sie die Template-Datei und alle Ihre Controller so, dass für jede Ansicht ein eigener Titel ausgegeben wird.
Angenommen, im Controller Page befindet sich das folgende
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'],
];
?>
Erstellen Sie eine Aktion show, die
die gegebene Seite anzeigen wird. Lassen Sie den
Seitentext aus dem Schlüssel 'text' in der Ansicht
in einen Absatz eingewickelt sein, und der Text aus dem Schlüssel 'title'
soll zum Seitentitel werden.