WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Welche Template Klasse? » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von [SpecFor]crusher
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
von Adrian
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 ]
von Hammerhut
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...
von [SpecFor]crusher
was sind denn "Template-Klassen"?
von kat
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?

Nach oben