Wyszperałem sobie bibliotekę do CodeIgniter'a:
http://williamsconcepts.com/ci/codeigniter/libraries/template/index.html
Jednak chyba nie do końca rozumiem zasad jej stosowania.
Przykład ładowania widoku do templatki (tablice tylko dla przykładu):
$fmenu = '';
$fclasses = array('current', '');
$ftexts = array('Tab1', 'Tab2');
for($i=0; $i<2; $i++)
{
$items = array('class' => $fclasses[$i], 'href' => '#', 'text' => $ftexts[$i]);
$this->template->write('feature_menu', $this->template->write_view('feature_menu', 'feature_menu', $items));
}
To zagnieżdżenie nie wygląda najlepiej, tak to się robi?
Widok menu wygląda tak:
<li><a class="<?PHP echo $class; ?>" href="<?PHP echo $href; ?>"><?PHP echo $text; ?></a></li>
Jest to pojedynczy element menu dlatego wczytywany jest w pętli.
Teraz mój główny problem.
W <body></body> templatki strony głównej mam:
<div class="wrap background">
<div id="search"> <?PHP echo $search; ?> </div>
<ul id="menu"> <?PHP echo $menu; ?> </ul>
<?PHP echo $logo; ?>
<?PHP echo $feature_menu; ?>
<?PHP echo $feature; ?>
<div class="clear"></div>
<?PHP echo $left; ?>
<?PHP echo $side; ?>
</div>
No i sprawą oczywistą jest, że na każdej stronie będą wyświetlane search, menu i *left *, natomiast reszta będzie widoczna tylko na stronie głównej (zawartość *left *zależna od wyboru menu).
W jaki sposób powinienem rozwiązać taki problem?
Moje problemy wynikają zapewne z małego obeznania z tworzeniem stron internetowych no ale trzeba się rozwijać ;p