MVC да PHP да саҳифа тайтили
Файл шаблонида шунингдек, саҳифа тайтилини ўз ичига олган
$title ўзгарувчиси мавжуд.
Маълумки, бу сарловҳа ҳам турли саҳифалар учун
турлича бўлади. Келинг, бу ўзгарувчидан мақсадга мувофик
fойдаланамиз:
<!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 = 'Test контроллерининг act амали';
// Қандайдир маълумотларни ўтказган ҳолда, кўринишни рендер қиламиз:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Файл шаблони ва барча контроллерингизни ўзгартиринг, шундай килиб, ҳар бир кўриниш учун ўз тайтили чиқарилсин.
Page контроллерида куйидаги массив берилган деб фараз қилайлик:
<?php
$this->pages = [
1 => ['title'=>'page 1', 'text'=>'text 1'],
2 => ['title'=>'page 2', 'text'=>'text 2'],
3 => ['title'=>'page 3', 'text'=>'text 3'],
];
?>
show амалини яратинг, у берилган саҳифани чиқарсин. Кўринишда
'text' калитидан олинган матн абзац ичига олиниб,
'title' калитидан олинган матн эса саҳифа тайтилига айлансин.