Ashura: einfaches Templatesystem

Beitrag lesen

Hallo Peter.

Danke. Eine kurze Frage noch: wie gehe ich dann am besten vor, wenn der Inhalt für den Platzhalter %content% in einem .txt File gespeichert ist?

In welcher Form?

Bisher sieht mein Script so aus:

$handle = file_get_contents("../html/template.html", "r");

  
Verwechselst du nicht gerade file\_get\_contents() mit [fopen()](http://de2.php.net/manual/en/function.fopen.php)?  
Anders kann ich mir den zweiten Parameter in deinem Script nicht erklären.  
  

> ~~~php

if(!isset($_GET['id']))  

> {  
>  $pageid = "0";  
> }  
> else  
> {  
>  $pageid = $_GET['id'];  
> }

Du solltest $_GET['id'] besser ausführlicher testen, um heraus zu finden, ob darin wirklich nur von dir erwünschte Werte enthalten sind.

$_search = array(

'%title%',
'%subnav%',
'%blog%',
'%otherthings%',
'%content%'
);

if($pageid == "0")
{
  $_replace = array(
   'Lorem ipsum dolor',
   'subnav test',
   'blog test',
   'anderer test',
   '...'
  );
}


>   
> //...etc. für id=01, id=02, id=03...  
  
Hier würde sich unter Umständen ein assoziatives Array anbieten.  
Also:  
  
~~~php
$_replace = array (  
   '0' => array ('Foo 0', 'subnav foo 0', 'blog foo 0', '…');  
  '01' => array ('Foo 1', 'subnav foo 1', 'blog foo 1', '…');  
  '02' => array ('Foo 2', 'subnav foo 2', 'blog foo 2', '…');  
  /* … */  
);

Dieses wird dann eben entsprechend angesprochen. ($_replace[$_GET['id']])

Was müsste ich anstelle der ... im $_replace array schreiben? 'include(...)' ja wohl nicht...

Dazu solltest du erst das Datenformat für die TXT-Datei nennen.

Einen schönen Mittwoch noch.

Gruß, Ashura

--
Last Tears Keep Calling
See Angels Falling
Black Shadows In Your Head
And One Eye For The Dead