login  Naam:   Wachtwoord: 
Registreer je!
 Forum

template met php

Offline tomie94 - 16/05/2008 20:58 (laatste wijziging 16/05/2008 20:59)
Avatar van tomie94PHP interesse Ik heb een idee, wat ik graag tot werkenlijkheid zal willen uitbrengen. Ik heb de volgende code:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3.  
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  7. <link rel="stylesheet" type="text/css" href="templates/standard/css/global.css" />
  8. <script src="templates/standard/src/dropdown.js" type="text/javascript"></script>
  9. <tcms load="head" style="standard" />
  10.  
  11. </head>
  12.  
  13. <body>
  14.  
  15. <div id="masthead">
  16.  
  17. <h1><a href="index.php">tCMS</a></h1>
  18.  
  19. <div id="mastheadBox">
  20. <tcms load="top" style="standard" />
  21. </div>
  22.  
  23. </div>
  24.  
  25. <tcms load="menu" style="standard" />
  26.  
  27. <ul id="breadCrumbs">
  28. <tcms load="navigation" style="standard" />
  29. </ul>
  30.  
  31. <!-- Begin Main Column -->
  32.  
  33. <div id="mainContent">
  34. <tcms load="content" style="standard" />
  35. </div>
  36.  
  37.  
  38. <!-- Begin Side Column -->
  39.  
  40. <div id="secondaryContent">
  41. <tcms load="right" style="standard" />
  42. </div>
  43.  
  44. <!-- Begin Footer -->
  45.  
  46. <div id="footer">
  47. <tcms load="footer" style="standard" />
  48. </div>
  49.  
  50. </body>
  51. </html>

nu is de bedoeling dat ik de <tcms * /> kan wijzigen tot normale tekst. Dit kan ik doen door dit bestand in te laden met PHP.net: file_get_contents of PHP.net: fopen en dan dat te wijzigen met preg_replace, alleen ik heb ik een probleem: ik wil er ook php in kunnen gebruiken, dat kan nu ook wel, enkel ik wil ook variabeles van het script waar het ingeladen word gebruiken.
dus dat zo er ongeveer zo uit moeten zien:
  1. <?php
  2. $tesvar = "een test var";
  3. $content = file_get_contents("bestand_met_de_code_hierboven");
  4. $content = preg_replace("regex");
  5. echo $content;
  6. ?>


nu is het bedoeling dat ik in bestand_met_de_code_hierboven
  1. <?php
  2. echo $testvar;
  3. ?>
kan zetten.

Heeft iemand een idee hoe dit kan?

6 antwoorden

Gesponsorde links
Offline djb - 16/05/2008 21:33
Avatar van djb PHP beginner kan je dan niet gewoon include doen?
Offline JBke - 17/05/2008 07:56
Avatar van JBke PHP gevorderde ik gebruik een eigen cms voor back-end en Smarty als template parser.

Wat je ook zou kunnen doen is met Zend_Layout werken.

Success
Offline tomie94 - 17/05/2008 08:49 (laatste wijziging 17/05/2008 09:11)
Avatar van tomie94 PHP interesse graag wil ik het zelf doen. is er dan echt geen manier?

Edit

met Smarty kun je ook geen php in de bestanden gebruiken. Zend ga ik niet gebruiken omdat het CMS systeem dan te groot word

@djb: nee, want ik moet dus de <tcms */> nog aanpassen
Offline marten - 17/05/2008 09:52
Avatar van marten Beheerder Heb je al de bestaande systemen onderzocht die het zo doen? Neem eens een kijkje naar template power. Dit is een zeer simpele maar doeltreffend systeem geschreven in een php class.
Offline tomie94 - 30/05/2008 15:25
Avatar van tomie94 PHP interesse ja, maar de bedoeling is dat ik ook in het bestand PHP kan gebruiken.
Offline Thomas - 30/05/2008 23:55
Avatar van Thomas Moderator Voeg zowel een template als een php-bestand toe. Dit PHP-bestand vult je template. Hierbij zul je waarschijnlijk output buffering moeten gebruiken.

Waarom maak je niet gewoon van een bestaande template-engine (bijv. templatepower) gebruik?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.203s