bin an einem PHP Projekt dran und bin jetzt auf dein Grunsätzliches Problem gestossen:
Wie strukturiere ich die Templates und wo/wie binde ich die Interaktiven dinge ein ??
Momentan siehts vereinfacht so aus:
main.php
Code: Alles auswählen
require 'Smarty.class.php';
require 'classes/classes.php';
// Check Security //
$auth = new auth;
$auth->login()
...
if ($auth->access > 0 and $auth->verify_session()) {
// Login OK
$smarty->register_object("auth",$auth);
$smarty->register_function("date_now", "print_current_date");
$smarty->display('main.tpl');
} elseif ($logout_success) {
$smarty->assign(errortext,"Erfolgreich ausgeloggt");
$smarty->display('index.tpl');
} else {
// Login FAILED
$smarty->assign(errortext,"foobar");
$smarty->display('index.tpl');
}
Code: Alles auswählen
{include file=header.tpl css="style.css"}
{auth->uname assign="authlevel"}
{if $authlevel eq "admin"}
{include file=menu.tpl perm=1}
{elseif $authlevel eq "dozent"}
{include file=menu.tpl perm=2}
{else}
{include file=menu.tpl}
{/if}
{include file=footer.tpl}
Ein dynamisches Menu (je nach authlevel, bzw. Inhalt von auth->uname).
Ist das der richtige Anstatz ??
Das menu.tpl sieht so aus:
Code: Alles auswählen
<div id="menu">
{auth->uname}<br />
{if $perm == 1}
<p class="menutitle">Adminstration</p>
...
{elseif $perm == 2}
<p class="menutitle">Auswertung</p>
...
{else}
<p class="menutitle">Fragebogen</p>
...
{/if}
<a class="menulink_logout" href="main.php?action=Logout">logout</a>
</div>