login  Naam:   Wachtwoord: 
Registreer je!
 Forum

TemplatePower include

Offline NTS64 - 05/01/2007 20:17 (laatste wijziging 05/01/2007 20:18)
Avatar van NTS64PHP gevorderde Hey,

Ik ben een beetje aan het experimenteren me templatepower en ik kwam een probleempje tegen.
Stel, je hebt een index pagina met een soortgelijk navigatie systeem als volgende
  1. <?php
  2. if($_GET['pagina'] == 'home'){
  3. //include home
  4. }elseif($_GET['pagina'] == 'contact'){
  5. //include contact
  6. }else{
  7. include nog een andere pagina...
  8. }
  9. ?>

Ik had dus een testscriptje gemaakt:
de index pagina zelf gebruikt ook een template
index.tpl
  1. <html>
  2. <head>
  3. <title>testjeeuh</title>
  4. </head>
  5. <body>
  6. <table border="1" width="100%">
  7. <tr>
  8. <td>cel 1</td>
  9. <td>
  10. <!-- INCLUDE BLOCK : content -->
  11. <!-- INCLUDESCRIPT BLOCK : main -->
  12. </td>
  13. <td>cel 2</td>
  14. </tr>
  15. </table>
  16. </body>
  17. </html>

index.php
  1. <?php
  2. include("tpl/class.TemplatePower.inc.php");
  3. $tpl = new TemplatePower( "index.tpl" );
  4. if(isset($_GET['p'])){
  5. if($_GET['p'] == "home"){
  6. $tpl->assignInclude("content" , "home.tpl");
  7. $tpl->assignInclude("main", "home.php");
  8. $tpl->prepare();
  9. $tpl->printToScreen();
  10. }else{
  11. echo "Deze pagina bestaat niet";
  12. }
  13. ?>


home.tpl
  1. <html>
  2. <head>
  3. <title>{pagina}</title>
  4. </head>
  5. <body>
  6. {test}
  7. </body>
  8. </html>


home.php

  1. <?php
  2. include("class.TemplatePower.inc.php");
  3. $tpl = new TemplatePower( "home" );
  4. $tpl->prepare();
  5. $tpl->assign("pagina" , "Home");
  6. $tpl->assign("test" , "Dit is een test");
  7. $tpl->printToScreen();
  8. ?>


Als ik dit uitprobeer krijg ik de volgende error:

TemplatePower Error: Couldn't open [ home ]!

Ik weet eigenlijk niet eens of hetgene wat ik probeer kan met templatepower, ik heb de manual al een paar keer doorgelezen wat betreft assignInclude, maar die vond ik niet zo duidelijk, weet iemand hoe je dit correct doet?

6 antwoorden

Gesponsorde links
Offline Ultimatum - 05/01/2007 20:19
Avatar van Ultimatum PHP expert moet in index.php:
$tpl->prepare();
niet boven:
$tpl->assignInclude("content" , "home.tpl");
$tpl->assignInclude("main", "home.php");

probeer dat eens anders..
Offline NTS64 - 05/01/2007 20:20 (laatste wijziging 06/01/2007 10:59)
Avatar van NTS64 PHP gevorderde Nee, ik weet zeker dat prepare altijd na de assignIncludes moet, althans, zo staat het toch in de manual.

Edit:
ik heb het gepbrobeerd, de error was weg en de index pagina werd weergegeven maar home.php werd niet geinclude.

edit 2
Iemand?  
Offline riekele - 06/01/2007 16:26
Avatar van riekele PHP beginner prepare moet onder je assignincludes
Offline ikkedikke - 06/01/2007 16:28
Avatar van ikkedikke PHP expert new TemplatePower( "home" );
->
new TemplatePower( "index.tpl" );
Offline Ch0coschijt - 06/01/2007 16:31
Avatar van Ch0coschijt HTML interesse
  1. $tpl = new TemplatePower( "home" );


home moet home.tpl worden? of zit ik nou verkeerd te kijke
Offline NTS64 - 06/01/2007 19:42 (laatste wijziging 06/01/2007 19:43)
Avatar van NTS64 PHP gevorderde    
Wat een domme fout, het moet inderdaad home.tpl worden
Bedankt om m'n domme fout op te merken, het werkt nu  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.302s