Sidetittel i MVC i PHP
I mal-filen er variabelen
$title også tilgjengelig, som inneholder sidetittelen.
Det er åpenbart at denne tittelen også vil være
forskjellig for ulike sider. La oss bruke
denne variabelen til sitt formål:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
For å sette tittelen for et spesifikt
view må du skrive den til egenskapen
title i kontrolleren:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Sett tittelen:
$this->title = 'Handlingen act for kontrolleren test';
// Render view, og send noe data:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Modifiser malfilen og alle kontrollerne dine så hvert view får sin egen tittel.
Anta at i kontrolleren Page er følgende
array gitt:
<?php
$this->pages = [
1 => ['title'=>'side 1', 'text'=>'tekst 1'],
2 => ['title'=>'side 2', 'text'=>'tekst 2'],
3 => ['title'=>'side 3', 'text'=>'tekst 3'],
];
?>
Lag en handling show som vil
vise en gitt side. La i viewet
teksten fra nøkkelen 'text' være
innpakket i et avsnitt, og teksten fra nøkkelen 'title'
bli sidetittelen.