Sivun otsikko MVC:ssä PHP:ssä
Mallitiedostossa on myös käytettävissä muuttuja
$title, joka sisältää sivun otsikon.
On selvää, että tämä otsikko on myös
erilainen eri sivuille. Käytetään
tätä muuttujaa sen tarkoitukseen:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Jotta voitaisiin asettaa otsikko tietylle
näkymälle, on ohjaimessa kirjoitettava
se ominaisuuteen title:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Asetetaan otsikko:
$this->title = 'Testiohjaimen act-toiminto';
// Renderöidään näkymä, välitetään tietoja:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Muokkaa mallitiedostoa ja kaikkia ohjaimiasi siten, että jokaiselle näkymälle näytetään oma otsikkonsa.
Olkoon ohjaimessa Page seuraava
taulukko:
<?php
$this->pages = [
1 => ['title'=>'page 1', 'text'=>'text 1'],
2 => ['title'=>'page 2', 'text'=>'text 2'],
3 => ['title'=>'page 3', 'text'=>'text 3'],
];
?>
Tee toiminto show, joka näyttää
annetun sivun. Olkoon näkymässä
sivun teksti avaimesta 'text'
käärittynä kappaleeseen, ja teksti avaimesta 'title'
tulee sivun otsikoksi.