Наслов на страницата во MVC во PHP
Во датотеката на шаблонот е достапна и променливата
$title, која ја содржи насловот на страницата.
Очигледно е дека и овој наслов ќе биде
различен за различни страници. Ајде да ја искористиме
оваа променлива за нејзината намена:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
За да се постави наслов за одредено
претставување, неопходно е во контролерот да се запише
во својството title:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Да го поставиме насловот:
$this->title = 'Акција act на контролерот test';
// Ќе го прикажеме претставувањето, пренесувајќи некои податоци:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Модифицирајте ја датотеката на шаблонот и сите ваши контролери така што за секое претставување ќе се прикаже сопствен наслов.
Нека во контролерот Page е дадена следнава
низа:
<?php
$this->pages = [
1 => ['title'=>'страница 1', 'text'=>'текст 1'],
2 => ['title'=>'страница 2', 'text'=>'текст 2'],
3 => ['title'=>'страница 3', 'text'=>'текст 3'],
];
?>
Направете акција show, која ќе
ја прикажува зададената страница. Нека во претставувањето
текстот на страницата од клучот 'text' биде
обвиткан во параграф, а текстот од клучот 'title'
стане наслов на страницата.