barentshavet Skrevet 30. november 2013 Del Skrevet 30. november 2013 (endret) Hei! Er det noen som vet hvordan man kan lagre templates for Smarty i en database (MySQL) istedenfor å bruke .tpl-filer lagret direkte på serveren? Noen eksempler hadde vært ideelt! Har lest meg gjennom doukmentasjonen, men uten hell. Endret 30. november 2013 av useriøst Lenke til kommentar
TheClown Skrevet 3. desember 2013 Del Skrevet 3. desember 2013 Hvorfor i allverden ønsker du å gjøre det? Det vil virke mot hele hensikten til template-systemet. Lenke til kommentar
barentshavet Skrevet 5. desember 2013 Forfatter Del Skrevet 5. desember 2013 Hvorfor i allverden ønsker du å gjøre det? Det vil virke mot hele hensikten til template-systemet. For å la brukere endre template selv, vel? Det er jo hensiktsmessig det. Lenke til kommentar
mysjkin Skrevet 9. desember 2013 Del Skrevet 9. desember 2013 Synes det hørtes smart ut - poenget med template er jo å skille kode og presentasjon og sånn sett likegyldig om templatet leses inn fra en fil eller en database. - tror jeg kunne tenkt meg å gjørt det samme selv om det er en grei måte å gjøre det på. Lenke til kommentar
TheClown Skrevet 12. desember 2013 Del Skrevet 12. desember 2013 Du trenger ikke lagre de i databasen for å tillate redigering. La brukeren redigere og lagre filer direkte i filsystemet. Smarty og template-systemet er lagret slik for å unngå at man må koble seg til en database. Se for deg f.eks at database-tilkoblingen går ned og man ikke får noen template. Hvordan ville du returnere en fin feilmelding til brukeren da? Lenke til kommentar
Wackamole Skrevet 17. desember 2013 Del Skrevet 17. desember 2013 Lagre templaten som vanlig tekst (LONGTEXT eller vanlig TEXT) i databasen, så bruker du PHP for å hente ut raden med templaten før smarty parser fila. Husker ikke hvordan du parser templates i smarty. Alternativt kan du lage en PHP snutt som "lager" en "fysisk" tpl fil på serveren før denne blir parset i smarty. Ser for meg at det er utrulig ineffektivt, da du uansett kan bruke PHP i selve tpl fila for å gjøre den "variabel/custom" med enkle verdier fra databasen istedenfor hele templaten. \\ Fredrik Lenke til kommentar
Ernie Skrevet 5. januar 2014 Del Skrevet 5. januar 2014 Lagre templaten som vanlig tekst (LONGTEXT eller vanlig TEXT) i databasen, så bruker du PHP for å hente ut raden med templaten før smarty parser fila. Husker ikke hvordan du parser templates i smarty. Alternativt kan du lage en PHP snutt som "lager" en "fysisk" tpl fil på serveren før denne blir parset i smarty. Ser for meg at det er utrulig ineffektivt, da du uansett kan bruke PHP i selve tpl fila for å gjøre den "variabel/custom" med enkle verdier fra databasen istedenfor hele templaten. \\ Fredrik Veldig, veldig lenge siden jeg kodet PHP nå, men kunne ikke holde meg unna å kommentere det her. Joda, ren PHP er såklart mer effektivt enn å parse et språk før det kjøres som PHP. Det du nok ikke har fått med deg er at Smarty (sist jeg så på det) cacher en "kompilert" versjon av templatene på disk som nettopp ren PHP. Så fra og med gang nummer to er det dermed ingen forskjell mellom en Smarty-template og å skrive det samme i ren PHP. Fordelen er såklart at Smarty-templater ikke tillater ren PHP i seg, og det er ganske så vesentlig med tanke på sikkerhet. Lenke til kommentar
Wackamole Skrevet 3. februar 2014 Del Skrevet 3. februar 2014 Lagre templaten som vanlig tekst (LONGTEXT eller vanlig TEXT) i databasen, så bruker du PHP for å hente ut raden med templaten før smarty parser fila. Husker ikke hvordan du parser templates i smarty. Alternativt kan du lage en PHP snutt som "lager" en "fysisk" tpl fil på serveren før denne blir parset i smarty. Ser for meg at det er utrulig ineffektivt, da du uansett kan bruke PHP i selve tpl fila for å gjøre den "variabel/custom" med enkle verdier fra databasen istedenfor hele templaten. \\ Fredrik Veldig, veldig lenge siden jeg kodet PHP nå, men kunne ikke holde meg unna å kommentere det her. Joda, ren PHP er såklart mer effektivt enn å parse et språk før det kjøres som PHP. Det du nok ikke har fått med deg er at Smarty (sist jeg så på det) cacher en "kompilert" versjon av templatene på disk som nettopp ren PHP. Så fra og med gang nummer to er det dermed ingen forskjell mellom en Smarty-template og å skrive det samme i ren PHP. Fordelen er såklart at Smarty-templater ikke tillater ren PHP i seg, og det er ganske så vesentlig med tanke på sikkerhet. Caching kan slåes av, PHP kan inkluderes i smarty med {php} echo "Hello World"; {/php} Men nå er jo hele poenget med å bruke smarty å separere PHP fra HTML/CSS (som nevnt i post #2), det man vil er å sende variabler og verdier til template fila å la smarty ta seg av parsinga. Lenke til kommentar
barentshavet Skrevet 11. februar 2014 Forfatter Del Skrevet 11. februar 2014 Jeg fant en løsning på det. Kan sikkert dele i fremtiden, men akkurat nå har jeg det ikke tilstede 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å