barentshavet Skrevet 16. desember 2012 Rapporter Del Skrevet 16. desember 2012 Hei. Jeg lurer på om det er noen som kan hjelpe meg med dette problemet. Jeg ønsker muligheten for template-variabler slik at: if($comments==1) { echo "hei"; } kan gjøres om til for eksempel: <IfCommentsAllowed> </IfCommentsAllowed> slik at man kan skrive det rett inn i HTML. Noen som har erfaringer med dette og kan hjelpe meg ut? Lenke til kommentar
Alex Moran Skrevet 16. desember 2012 Rapporter Del Skrevet 16. desember 2012 (endret) Hvis du vil bruke <IfCommentsAllowed> and family, må du lage en template engine som kan parse HTML-en og gjøre det du ønsker, dette kan bli temmelig avansert og jeg er usikker på om det eksisterer noen *gode* biblioteker som gjør akkurat dette (bruke html-tags for logikk). Alternativet er å bruke f.eks. Twig, som er en template engine med en litt annen syntaks, eller rett og slett bare bruke PHP, som er et OK template-språk i seg selv (spes. med alternativ syntaks). <? if ($comments == 1): ?> Hei <? endif; ?> Endret 16. desember 2012 av Alex Moran Lenke til kommentar
etse Skrevet 16. desember 2012 Rapporter Del Skrevet 16. desember 2012 Du må kjøre templatet gjennom en script i noe denne duren Index.php switch($page): case "index": $page = generateFromTemplate("index.html"); case "about": $page = generateFromTemplate("about.html"); echo $page; og "GenerateFromTemplate" funksjonen kan du da fjerne <IfCommentsAllowed> (med innhold) om comments er diabled function generateFromTemplate($templateFile) { $file = file_get_contents($templateFile); if($commentsEnabled == False) { $pattern= '/<IfCommentsAllowed>(.?)</IfCommentsAllowed>/'; $file = preg_replace($pattern, ' ', $file); } } Altså bruke regexp til å finne alle tilfeller av den tagen og fjerne den, med alt innhold. 1 Lenke til kommentar
barentshavet Skrevet 17. desember 2012 Forfatter Rapporter Del Skrevet 17. desember 2012 Du må kjøre templatet gjennom en script i noe denne duren Index.php switch($page): case "index": $page = generateFromTemplate("index.html"); case "about": $page = generateFromTemplate("about.html"); echo $page; og "GenerateFromTemplate" funksjonen kan du da fjerne <IfCommentsAllowed> (med innhold) om comments er diabled function generateFromTemplate($templateFile) { $file = file_get_contents($templateFile); if($commentsEnabled == False) { $pattern= '/<IfCommentsAllowed>(.?)</IfCommentsAllowed>/'; $file = preg_replace($pattern, ' ', $file); } } Altså bruke regexp til å finne alle tilfeller av den tagen og fjerne den, med alt innhold. Takk for hjelpen, igjen! Hjertelig takk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå