Christian Kruse: Templates

Beitrag lesen

Hoi,

Sorry, ich habe meinen eintrag nicht mehr gefunden.

Dabei ist das doch so ordentlich hier... ;-)

wie soll ich das genauer definieren. jedes cms-programm benutzt
templates damit das die seiten nicht geändert werden müssen, sondern
sich nur das design ändert. und ich will wissen wie das geht.

Nun, das ist relativ einfach. Im Grunde laeuft es darauf hinaus, dass
du bestimmte Platzhalter im Quelltext deiner Templates definierst. Die
muessen sich, natuerlich, von dem Rest abheben; so koennte
beispielsweise ein Template aussehen:

<html>
 <head>
  <title>{$title}</title>
  <link rel="stylesheet" type="text/css" href="{$css}"/>
 </head>
 <body>
  Hallo {$name},
  na, wie geht es dir? Mir geht es {$feeling}.
 </body>
</html>

In deinem Programm musst du dann natuerlich die Text-Merkmale
entsprechend ersetzen. Andere Template-Libraries bieten viel mehr,
etwa eine richtige Meta-Sprache mit Kontrollstrukturen wie 'if' und
'for'. Ein solches Template koennte so aussehen:

<html>
 <head>
  <title>{if $title}{$title}{else}unbekannt{endif}</title>
  <link rel="stylesheet" type="text/css" href="{if $css}{$css}{else}/default.css{endif}"/>
 </head>
 <body>
  {foreach $element in $array}
    {$element}<br />
  {endfor}
 </body>
</html>

Die Auswertung einer solchen Logik ist natuerlich alles andere als
trivial und laeuft schon auf einen richtigen Compiler hinaus.

Gruesse,
 c.j.k