Τίτλος σελίδας στο MVC σε PHP
Στο αρχείο προτύπου είναι επίσης διαθέσιμη η μεταβλητή
$title, που περιέχει τον τίτλο της σελίδας.
Προφανώς, αυτός ο τίτλος θα είναι επίσης
διαφορετικός για διάφορες σελίδες. Ας χρησιμοποιήσουμε
αυτή τη μεταβλητή για τον σκοπό της:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?= $title ?></title>
</head>
<body>
...
</body>
</html>
Για να ορίσετε τον τίτλο για ένα συγκεκριμένο
προβολή είναι απαραίτητο στον controller να τον
γράψετε στην ιδιότητα title:
<?php
namespace Project\Controllers;
use Core\Controller;
class TestController extends Controller
{
public function act()
{
// Θέτουμε τον τίτλο:
$this->title = 'Δράση act του controller test';
// Θα κάνουμε render την προβολή, περνώντας κάποια δεδομένα:
return $this->render('test/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Τροποποιήστε το αρχείο προτύπου και όλους τους controllers σας έτσι ώστε για κάθε προβολή να εμφανίζεται ο δικός της τίτλος.
Έστω στον controller 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'
να γίνεται ο τίτλος της σελίδας.