Avatar billede Bjarne Novice
24. november 2007 - 21:07 Der er 9 kommentarer og
1 løsning

Smarty insert script

Godaften.

Jeg sidder og leger med Smarty. Jeg er kommet til insert, som jeg ikke kan få til at virke. Jeg har fundet en vejledning, som foreskriver følgende:

{insert name="getCurrentTime" assign="current_time"
script="time_functions.inc.php"}
The current time is: {$current_time}

Code for time_functions.inc.php is:

<?php
function
smarty_insert_getCurrentTime()
{
    return gmdate('l, j F Y g:i a T');
}
?>

Men hvor skal filen time_functions.inc.php placeres? Har prøvet mig lidt frem, men får følgende fejl:
Warning: Smarty error: file:time_functions.inc.php is not readable in Smarty.class.php on line 1095

Så spørgsmålet er: Hvor leder smarty efter de filer, som man indsætter via insert?
Avatar billede dkfire Nybegynder
24. november 2007 - 21:53 #1
Smarty leder enten i plugins mappen i dim smarty mappe eller du kan give en fuld sti.
Avatar billede Bjarne Novice
24. november 2007 - 22:08 #2
Jeg har forsøgt med:

{insert name="getCurrentTime" assign="current_time" script="/home/includes/time_functions.inc.php"}

Det fjerner fejlen fra før. Men der udskrives kun "The current time is:". Datoen fra funktionen mangler.
Avatar billede dkfire Nybegynder
24. november 2007 - 22:19 #3
Prøv at kalde funktionen: insert_getCurrentTime()
Avatar billede Bjarne Novice
24. november 2007 - 22:22 #4
Hvordan mener du?
Avatar billede dkfire Nybegynder
24. november 2007 - 22:27 #5
Omdøb din til det jeg skrev. I følge smarty.php.net så vil smarty forsøge at kalde funktionen insert_getCurrentTime(), men din hedder jo smarty_insert_getCurrentTime()
Avatar billede Bjarne Novice
24. november 2007 - 22:39 #6
Så skriver den:

Fatal error: Call to undefined function smarty_insert_getCurrentTime() in /smarty/internals/core.process_cached_inserts.php on line 51
Avatar billede dkfire Nybegynder
24. november 2007 - 22:47 #7
Hmmm okay, skummelt, ikke lige hvad smarty selv fortæller.
http://smarty.php.net/manual/en/language.function.insert.php
Men så omdøb du funktionen tilbage igen :-)

Husk:
Note:  Assigning the output to a template variable isn't too useful with caching enabled.

Men prøv uden assign at kalde funktionen.
Avatar billede Bjarne Novice
24. november 2007 - 23:47 #8
Det virker uden assign. Mange tak for hjælpen.
Avatar billede dkfire Nybegynder
24. november 2007 - 23:58 #9
så lidt, tror desværre at din template bliver cached og derfor volder det problemer.
Avatar billede dkfire Nybegynder
24. november 2007 - 23:58 #10
Og lige et svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester