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