login  Naam:   Wachtwoord: 
Registreer je!
 Forum

smarty werkt niet

Offline roy - 11/10/2007 13:26 (laatste wijziging 11/10/2007 13:28)
Avatar van royPHP gevorderde Beste,

ik heb index.php
  1. <?php
  2. //Roep het bestand aan waarin de Smarty classes staan
  3. require("../smarty/Smarty.class.php");
  4.  
  5. //Maak een nieuw object aan genaamd "Smarty"
  6. $smarty = new Smarty();
  7.  
  8. $smarty->template_dir = "templates"; //Hierin staan de templatebestanden waarvan je gebruik maakt in je project
  9. $smarty->compile_dir = "templates_c"; //Hierin komen de gecompileerde templatebestanden te staan
  10. $smarty->cache_dir = "cache"; //Het is mogelijk om templates te cachen zodat ze niet telkens opnieuw gecompileerd hoeven worden. In dat geval is dit de map waar de gecachede bestanden in komen te staan.
  11. $smarty->config_dir = "configs"; //Deze map wordt gebruikt voor het opslaan van configuratie-bestanden.
  12.  
  13. //Toon pagina op scherm van gebruiker
  14. $smarty->display("pagina.tpl"); //Templatebestand wordt aangeroepen uit "templates" map
  15.  
  16.  
  17. //Toekennen van paginatitel
  18. $smarty->assign("paginaTitel","Smarty Site :: Home");
  19. //Toekennen van een bedrag
  20. $smarty->assign("totaalBedrag",50.30);
  21. //Toekennen van een lap tekst
  22. $content = "Dit is een tekst die je zo lang kunt maken als je zelf wilt.";
  23. $smarty->assign("content",$content);
  24. //Toekennen van een array
  25. $arrNames = array("Henk","Klaas","Jan");
  26. $smarty->assign("namen",$arrNames);
  27.  
  28. ?>


en een template bestandje:

  1. <p>Dit is de titel van mijn site: {$paginaTitel}</p>
  2.  
  3. <p>Dit is het totaalbedrag:{$totaalBedrag}</p>
  4.  
  5. <h3>Content</h3>
  6. <p>{$content}</p>
  7.  
  8. <h3>Namen</h3>
  9. <p>
  10. {foreach from=$namen item=naam}
  11. {$naam}
  12. {/foreach}
  13. </p>


ik heb de volgende directory structuur aangemaakt:

-in de root een map genaamd "Smarty"
-Alle bestanden uit de map "libs" staan in "Smarty"
-Maak in de root een map genaamd “myFirstSmarty”. Hierin komt de eerste applicatie te staan waarbij je gebruik maakt van templates.
Maak in de map "myFirstSmarty" de volgende 4 mappen aan:
templates
templates_c
cache
configs


Mijn vraag is nu, waarom werkt het simpele voorbeeldje niet? ik krijg de waarden niet te zien in de template.


Met vriendelijke groeten,
Roy de Kleijn


Ik hoop op helpvolle reacties!

5 antwoorden

Gesponsorde links
Offline ArndJan - 11/10/2007 14:20 (laatste wijziging 11/10/2007 14:21)
Avatar van ArndJan PHP interesse Dit is waarschijnlijk niet zo vreemd!

Verander dit eens:

  1. #
  2. //Toon pagina op scherm van gebruiker
  3. #
  4. $smarty->display("pagina.tpl"); //Templatebestand wordt aangeroepen uit "templates" map
  5. #
  6.  
  7. #
  8.  
  9. #
  10. //Toekennen van paginatitel
  11. #
  12. $smarty->assign("paginaTitel","Smarty Site :: Home");
  13. #
  14. //Toekennen van een bedrag
  15. #
  16. $smarty->assign("totaalBedrag",50.30);
  17. #
  18. //Toekennen van een lap tekst
  19. #
  20. $content = "Dit is een tekst die je zo lang kunt maken als je zelf wilt.";
  21. #
  22. $smarty->assign("content",$content);
  23. #
  24. //Toekennen van een array
  25. #
  26. $arrNames = array("Henk","Klaas","Jan");
  27. #
  28. $smarty->assign("namen",$arrNames);


naar:
  1. #
  2.  
  3. #
  4. //Toekennen van paginatitel
  5. #
  6. $smarty->assign("paginaTitel","Smarty Site :: Home");
  7. #
  8. //Toekennen van een bedrag
  9. #
  10. $smarty->assign("totaalBedrag",50.30);
  11. #
  12. //Toekennen van een lap tekst
  13. #
  14. $content = "Dit is een tekst die je zo lang kunt maken als je zelf wilt.";
  15. #
  16. $smarty->assign("content",$content);
  17. #
  18. //Toekennen van een array
  19. #
  20. $arrNames = array("Henk","Klaas","Jan");
  21. #
  22. $smarty->assign("namen",$arrNames);
  23. #
  24. //Toon pagina op scherm van gebruiker
  25. #
  26. $smarty->display("pagina.tpl"); //Templatebestand wordt aangeroepen uit "templates" map
  27. #


Eerst moet je variabele assigen voor dat je een display aanroept!
Offline roy - 11/10/2007 16:12
Avatar van roy PHP gevorderde dit klinkt als een hele handige tip, bedankt!
Offline ArndJan - 11/10/2007 16:15
Avatar van ArndJan PHP interesse Is het ook, als je er even over nadenkt zit er een logica in.

Werkt het zo dan?
Offline roy - 11/10/2007 17:59
Avatar van roy PHP gevorderde ja,

Maar hoe kan je nu een website maken met dynamische urls en querys met een variabele erin?

Offline cloudstrife - 11/10/2007 18:31
Avatar van cloudstrife PHP beginner
roy schreef:
ja,

Maar hoe kan je nu een website maken met dynamische urls en querys met een variabele erin?

Alles wat smarty toont moet eerst door een php-script verwerkt worden en worden doorgegeven naar smarty via assign. Dus query's uitvoeren en de data via assign doorgeven naar smarty. Dynamische urls blijft hetzelfde. Smarty wordt gewoon gebruikt om je scherm op te bouwen, netzoals je gewoon html gebruikt binnen je php-script, alles wat je met je 'oude gewone' php script kan kan je ook weergeven via smarty.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s