[smarty] Templates uit database halen

Pagina: 1
Acties:

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Hallo,

Wanneer je met smarty een template wil weergeven gebruik je de functie display of fetch. Nu hebben die twee als agrument een bestand maar ik wil dat de template uit een database komt. Nu kunt je een resource mee geven aan het argument ($smarty->display ('db:index.tpl')) maar ik weet niet wat ik daarmee kan.

Mijn vraag is dus: Hoe kan ik data uit een database als template gebruiken voor smarty?

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Dan maak je een tussenpagina die de gegevens uit je database haalt, en dan kun je die tussenpagina displayen/fetchen.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Q: I have some content in the memory I want to use as smarty template. Must I create a file from it?
A: (Josh Johnson) http://smarty.php.net/manual/en/templates.from.elsewhere.php
You can retrieve templates using whatever possible source you can access with PHP: databases, sockets, LDAP, and so on. You do this by writing resource plugin functions and registering them with Smarty
Zou dus moeten kunnen :)

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Klopt, dat zei ik ook al in mijn eerste post maar hoe pas je die toe? Ik heb de documentatie van smarty door gespit maar nergens staat hoe je dat toepast.

  • simon
  • Registratie: Maart 2002
  • Laatst online: 23-05 18:11
Slagroom schreef op 23 juli 2004 @ 11:51:
Klopt, dat zei ik ook al in mijn eerste post maar hoe pas je die toe? Ik heb de documentatie van smarty door gespit maar nergens staat hoe je dat toepast.
http://smarty.php.net/manual/en/templates.from.elsewhere.php lees dat eens, volgens mij staat het er heel helder in :)

|>


Verwijderd

Volgens mij worden als je "db:" als prefix gebruikt, gewoon de functies db_get_template, db_get_timestamp etc. aangeroepen.

Dus zou je ook poep_get_template, poep_get_timestamp etc. kunnen definiëren, en dan templates in kunnen laden via display("poep:is_vies.omg")


Edit: duh, is niks magisch aan, je kunt ze gewoon registreren als resource... :/

[ Voor 24% gewijzigd door Verwijderd op 23-07-2004 12:30 ]


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Volgens mij is dit stukje code de truc uit het voorbeeld waar ik naar linkte:
PHP:
1
2
3
4
5
// register the resource name "db"
$smarty->register_resource("db", array("db_get_template",
                                       "db_get_timestamp",
                                       "db_get_secure",
                                       "db_get_trusted"));


:)
Pagina: 1