Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Welche Template Klasse? Antworten
Welche Template Klasse?

kat
Otto-Normal-Poster


Beiträge: 72


Hi,

welche Template Klasse ist die "beste" und welche benutzt ihr?
Selber proggen will/kann ich nicht, werd also zu 99% auf eine bestehende zurückgreifen, aber welche...?


Kai

  Profil   E-Mail   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Also persönlich bevorzuge ich XSL, welches eine strikte Trennung von Anwendung und Layout erzwingt.

Bei "normalen" Template-Engines begeistert micht Smarty vom Konzept und den Möglichkeiten. (smarty.php.net)

Thomas



---
Weaverslave

  Profil   Website   Editieren   Zitieren

kat
Otto-Normal-Poster


Beiträge: 72


Danke für die schnelle Antwort.

Hab mir das mal angeguckt und....naja bin schon indirekt begeistert von den Tausenden Zeilen code in der Class Datei, aber gibts dafür auch ne Deutsche anleitung oder so?

  Profil   E-Mail   Website   Editieren   Zitieren

[SpecFor]crusher
Otto-Normal-Poster


Beiträge: 97


was sind denn "Template-Klassen"?

  Profil   E-Mail   Website   Editieren   Zitieren

Hammerhut
Pixelschubser


Beiträge: 2


Template Klassen benutzt du um Variablen wie zB {TEXT} in eine HTML Seite zu setzen, die dann bei der Ausgabe gepased werden und dann durch den entsprechenden Inhalt ersetzt werden... scheiße erklärt... okay ;)

Ich benutze FastTemplates und bin da eigentlich ganz zufrieden mit... ist auch ziemlich weit verbreitet...

  Profil   Website   Editieren   Zitieren

Adrian
Quasselstrippe


Beiträge: 246


Meiner Meinung nach sind diese Sorte Templateklassen Unsinn!
Viel sinnvoller ist z.B. soetwas:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56:
<?php
class tpl
{
 var $templates   = array();
 var $defaultfolder = '';
 
 /* constuctor */
 function tpl()
 {
  $this->defaultfolder = 'templates';
 }
 
 /* get template */
 function get_content($templatename,$parse_if_local=false)
 {
  if(!isset($this->templates[$templatename]))
  {
   if(file_exists($this->defaultfolder.'/'.$templatename.'.tpl'))
   {
    $this->templates[$templatename]=str_replace(""",""",implode('',file($this->defaultfolder.'/'.$templatename.'.tpl')));
   }
   else
   {
    die('Template -->'.$templatename.'<--existiert nicht');
   }
  }
  if($parse_if_local==true && ($_SERVER[REMOTE_ADDR]=='127.0.0.1' || $_SERVER[SERVER_NAME]=="planetcoding.homeip.net" || $_SERVER[SERVER_NAME]=="boards.homeip.net"))
  {
   $this->templates[$templatename]=eregi_replace("<IfNotLocal>(.*)</IfNotLocal>","",$this->templates[$templatename]);
   $this->templates[$templatename]=eregi_replace("<IfLocal>(.*)</IfLocal>","1",$this->templates[$templatename]);
  }
  elseif($parse_if_local==true && ($_SERVER[REMOTE_ADDR]!='127.0.0.1' && $_SERVER[SERVER_NAME]!="planetcoding.homeip.net" && $_SERVER[SERVER_NAME]!="boards.homeip.net"))
  {
   $this->templates[$templatename]=eregi_replace("<IfLocal>(.*)</IfLocal>","",$this->templates[$templatename]);
   $this->templates[$templatename]=eregi_replace("<IfNotLocal>(.*)</IfNotLocal>","1",$this->templates[$templatename]);
  }
  return $this->templates[$templatename];
 }
 
 function get($variable,$templatename,$op='=',$parse_if_local=false)
 {
  return '$'.$variable.' '.$op.' " '.$this->get_content($templatename,$parse_if_local).'";';
 }

 /* print template */
 function output($template)
 {
  echo $template;
 }
 
 function out($templatename)
 {
  return '$tpl->output("'.$this->get_content($templatename).'");';
 }
}
?>

Verwendet wird die Klasse dann z.B. so:
1: 
2: 
3: 
4: 
5: 
6: 
7:
$tpl = new tpl();
eval($tpl->get("header","header"));
eval($tpl->get("footer","footer","=",true));
// ....
eval($tpl->out("index"));

In den Templates kann man dann nämlich ganz normale PHP Variablen verwenden
_________________
schaut mal auf http://www.planetcoding.net vorbei

[ Diese Nachricht wurde ge&auml;ndert von: Adrian am 2002-08-25 17:31 ]

---
schaut mal auf http://www.planetcoding-server.net vorbei

  Profil   E-Mail   Website   Editieren   Zitieren

[SpecFor]crusher
Otto-Normal-Poster


Beiträge: 97


ja templates is klar, aber wozu brauch man denn so komplette feddig scripts dafür??
kann man det net selbst machen?
is doch nmehr oder weniger nur str_replace
oder wie sieht sowas aus?

geht das dann per control pannel oder wie

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben