Det lyder ikke særlig sundt at have PHP-kode inde i template-fil - hvis jeg forstår dig korrekt. Men hvis jeg forstår dig korrekt, så kan du godt - men sikke et hack (jeg ved det for jeg har eet sted, hvor det lige er den nemmeste løsning, host, host).
Du har kaldt din smarty-variabel et eller andet da du oprettede den, lad os sige: $smarty=new .... Så kan du (så vidt jeg lige husker):
{php} global $smarty; $smarty->noget = kalddinfunktion(); {/php}
Det kommer an på hvad du skal, såmænd. Du "må" ikke bruge en {if} til andet end udseende/design/formattering - ellers skal det ordnes i PHP-koden. Måske du skal skrive din egen Smarty-dims - jeg har f.eks. {kasse}...{/kasse}, der laver en, øh, ja, kasse ;)
Det er vel ikke templaten, der skal tjekke om man er logget ind. Det ville jeg gøre i PHP-koden, og så enten vælge template afhængig om man er eller ikke er logget ind, eller sætte en almindelig Smarty-variabel, som template så kan tjekke på (det sidste gør jeg faktisk et sted *g*)
Jo, som jeg har skitseret, så kan du putte hvad som helst PHP kode i {php}...{/php}, men det betyder jo ikke at man skal gøre. Hele ideen med smarte template-systemer er at holde forretningslogikken helt adskilt fra præsentationen.
(og her vil skarpe øjne se, at det har jeg ikke helt fået gjort i koden fra 22:29:01, men tilgiv mig, det er lidt gammel kode...)
Kedeligt ... hvem siger, at det skal være sjovt at programmere. Du kan jo se det på flere måder: 1) Du skulle have tænkt dig om fra starten 2) Det var måske en god anledning til at lave om på dit system 3) Man kan få meget hjælp af includefiler, så man kun skal skrive selve koden selv 4) Man skal måske ikke bruge et template-system, hvis man ikke forstår hvorfor
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.