Myślę nad taką strukturą strony, gdzie będzie można sprawnie podpiąć dynamiczny <title> pochodzący z zawartości.
Jeżeli includowałbym w swoim cms-ie w taki sposób stronę, jak to nieraz zalecają:
header.php
content.php
footer.php
to nie mogę przenieść wygenerowanego w sekcji "content" <title> do "header.php", tylko muszę stworzyć dwa zapytania (czego nie chcę). Chcę jedynie przekazywać parametr <title> do sekcji "header", a nie generować go tam przy pomocy zapytania.
Swego czasu wymyśliłem takie rozwiązanie (może trochę dziwne, ale skuteczne):
przykładowo:
/index.php
$title=''; //tutaj przechowuje <titie> $content=''; //tutaj przechowuje treść switch($_GET['page']) { //tutaj includuje pliki z folderu "module" case "wpis": include('module/wpis.php'); break; ... } include('theme/index.php'); //pobiera plik templatki
/module/wpis.php
<?php $title=$r['nazwa']; //przechwytuje title $content.='<div><b>'.$r['nazwa'].'</b><br />'.$r['opis'].'</div>'; ?>
/theme/index.php
<html> <head> <title><?=$title?></title> </head> <body> <div id="main"> <div id="naglowek"></div> <div id="nawigacja">Link1 Link2</div> <div> <div id="lewy_blok"> - link1 - link2 </div> <div id="content"> </div> </div> <div id="footer">Copyright (c) 2011</div> </div> </body> </html>
Czy takie rozwiązanie ujdzie? Czy też da się to wykombinować lepiej?