Seite 1 von 1

Eigenes Template suche jemanden der logisch denken kann

Verfasst: 04.03.2006 21:19
von witzigerkiller
Hi @ all..

Ich bastel gerade an diesem naja, Template System...

Code: Alles auswählen

<?PHP

class tpl
{
  // Pfad zu den Templates
  $templates_dir = "templates/";
  
  $name = array();
  // Function zum hinzuf&uuml;gen der w&ouml;rter
  function assign($name, $data)
  {
    array_push($name($data));
  }
  
  // Function zur Ausgabe des Templates
  function display($template)
  {    
    if (file_exists($templates_dir.$template))
    {
      // Inhalt der Dati holen
      $display_template = file_get_contents($templates_dir.$template);
    }
    else
    {
      // Fehlermeldung ausgeben
      die("<b>ERROR:<b> Die Template Datei: <b>".$template."</b> im 
      Ordner ".$templates_dir." ist nicht vorhanden oder konnte nicht gefunden worden.");
    }
  }
}

?>
Was ich eigentlich suche ist hilfe beim umseten der ersetzung der {lala} mit der jeweiligen variable...

ich denke ich muss da irgendwie suchen nach {lala} ersetzen mit $lala

und das bei jedem.... Kann mir da evtl. jemand einen regulären ausdruck schreiben oder mir sagen wie ich das handhaben muss?

Danke

EDIT: ALso um genau zusein, habe ich leider keinen blassen schimmer wie ich das umsetzen muss mit der ersetzung...

Verfasst: 04.03.2006 21:36
von witzigerkiller
hab mal nachgedacht.. wenn ich die {lala} mit

str_replace("{","$",$datei); mache, dann wäre irgendwie die funktion assign sinnlos... aber ich denke das man das vllt mit einer schleife von foreach machen muss, oderso...

Aber ich weis net genau wie, ich häng hier gerade richtig dumm rum. :cry:

Bye

Verfasst: 04.03.2006 21:53
von hagily
Was hast du eigenldich vor?

willst du in einer .tpl datei Variablen die wie dein {lala} aussehen in einer .php datei definieren?
Felix

Verfasst: 04.03.2006 21:55
von witzigerkiller
naja, ich will ein tpl system basteln....

nehmen wir an ich will im template hallo ausgeben, dazu diehnt die funktion assign:::: tpl->assign("WIllkommen","Hallo");

nun soll das so in der tpl aussehen {WIllkommen} und beim parsen durch Hallo ersetz werden..

Verfasst: 04.03.2006 22:21
von Pyramide
Warum nimmst du nicht einfach ein fertiges Template-System? Wenn du schon bei den Grundlagen scheiterst, wird deins wohl kaum besser werden.

Verfasst: 04.03.2006 22:24
von Spezial
Also ne while oder for-schleife wäre ganz praktisch um das assign-array auszulesen...
dann müsste aber das assign so aussehen:
assign(
'WILLKOMMEN' => 'Willkommen',
'TEXT_1' => 'Hier steht Text 1'
);
usw. so is das bei bb...oder bei den meisten anderen Tpl-Systemen.
Aber der Code den du da hast...der macht noch nicht viel...
Aber wenn es das mit dem str_replace ist, was du suchst...da wäre ne preg-funktion besser, aber mit denen kenne ich mich net so aus, sry ;)

Gruß,
Tobi

Verfasst: 05.03.2006 13:37
von witzigerkiller
naja, ich nehme schon smarty, aber ich will halt einfach lernen wie man sowas macht, damit ich diese classen auch besser verstehe...

Verfasst: 05.03.2006 14:29
von hagily
versuch einfach mal die template.php nachzuvollziehen und du kannst es.

felix

Verfasst: 05.03.2006 21:24
von Pyramide
Das PHP-Handbuch ist übrigens sehr hilfreich - z.B. der Abschnitt über Reguläre Ausdrücke

Verfasst: 05.03.2006 21:25
von witzigerkiller
die blick ich aber net....naja, ich bleibe dann doch lieber beim smarty....