-
funzioni con phemplate
Ho una bella domanda da farvi.
Io uso il template "phemplate", è molto facile da usare ed è una bomba.
Io sto creando un Browsergame.
Vorrei fare in modo che quando un amministratore entra, gli compare un link.
Praticamente ho risolto quasi tutto: ho assegnato ad un utente un numero, che sta per livello di autorizzazione. come faccio con il template a dire che se uno è autorizzato di far comparire un link?
se non sono stato chiaro ditemelo pure...
-
Beh semplicemente setti una variabile nel codice PHP (che poi verrà letta dal template) se ha il livello giusto metti il link, altrimenti la lasci vuota. Se l'utente ha i privilegi compare il link, altrimenti nulla.
-
Questo è possibile solamente se il template engine è programmato per le condizioni nei file template, altrimenti non è possibile. Se si, da quel che ho visto dovresti fare una cosa simile:
Codice PHP:
$tpl->set_var('s_nome_var', (($var_livello == 'QUEL_CHE_DEVI_CONTROLLARE') ? true : false));
Altrimenti fai così:
Codice PHP:
$link = ($var_livello == 'QUEL_CHE_DEVI_CONTROLLARE') ? 'LINK' : '' /* Oppure meti un */)
$tpl->set_var('s_nome_var', $link);
Ho messo s_* per ricordarmi che è uno switch, ma ovviamente puoi chiamare come vuoi la variabile :wink:
-
grazie mille
Edit:
altro quesito...
come faccio e mettere piu template in uno?
esempio...
file template:
menu.html
top_menu.html
costruzioni.html
footer.html
vorrei comparissero tutti insieme come se fossero un unico file...
grazie ancora per gli aiuti.
Edit:
penso di aver trovato qualcosa... bisogna usare la funzione TPL_INCLUDE
solo che non riesco...
allora nel php metto questo
Codice PHP:
// inizializzazione del template
include('phemplate.class.php');
$tpl = new phemplate();
$tpl->set_file('text', 'template/default/index2.html');
$tpl->process('text', 'template/default/index2.html', TPL_INCLUDE);
nel index2.html metto questo
Codice HTML:
<include filename="menu.html">
e nel menu html metto una tabella per fare un menu....
ma non vaaaaaa chiedo un aiutino....