Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » PHP » Templates

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
13.05.2005, 15:44 Uhr
FlAsH
keine Ahnung


Hi,
ich möchte PHP von HTML trennen, mit Hilfe von Templates.
Hat jemand eine Ahnung wie das geht?
also, man sollte ja per Befehl dann im PHP-Code Templates laden..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.05.2005, 15:51 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)



Zitat von FlAsH:
Hat jemand eine Ahnung wie das geht?

Kommt drauf an, wie du das haben willst; Von OOP bis hin zu simplen Parsen gibt es da alles Mögliche...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.05.2005, 15:52 Uhr
FlAsH
keine Ahnung


Ich möchte, die .html dateien in einem anderen ordner speichern, und dann per PHP laden können wenn das möglich ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.05.2005, 16:02 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Wie genau stellst du dir das vor?
Der Begriff "Template" ist ziemlich weit gefächert; Normalerweise verwendet man das in Bezug auf HTML / PHP nur für Multilinguistik bzw. verschiedene auswählbare Styles!

Ansonsten sag erst einmal, was genau du damit beabsichtigst (mit den Templates direkt: Multilinguale Seiten, Multistrukturelle Seiten etc.)...

Ansonsten, wie ich shcon gesagt habe: Du speicherst die Templates in externe Dateien (mit einer frei definierbaren Syntax) und parst die dann aus deinen PHP-Dateien so, wie du sie haben willst.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.05.2005, 16:08 Uhr
FlAsH
keine Ahnung


also, ich will, dass wenn ich z.B ganz oben in der PHP datei "load_tpl("header") eingeben,
dass es die Datei header.html im Ordner "templates" ganz oben in der php-datei ist.
Logisch geht load_tpl nicht ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.05.2005, 16:31 Uhr
lookIN



schau dir doch mal smarty an, die verwende ich zur Zeit. Ist ziemlich mächtig, aber wie ich finde auch recht komfortabel.
http://smarty.php.net

Am Besten du besorgst dir dazu auch gleich die Doku, denn die ist ziemlich gut.
--
--
lookIN
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.05.2005, 17:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


smarty ist persönlich zu überladen. du kannst ganz einfaches sowas machen:


PHP 4:
<?php

include("html/header.html");

// ...

include("html/footer.html");

?>



natürlich kann man dann in den html-dateien php-tags ausführen lassen (also <?php...?>


ansonsten ne simple klasse:


PHP 4:
<?php

class TEMPLATE
{
  var $file;
  var $file_c;
  var $design;
  
  function TEMPLATE($file)
  {
    $this->design = "";
    $this->load($file);
  }
  
  function load($file)
  {
    global $config, $sql;
    
    $this->file = $file;
    $this->file_c = "";
    
    $this->file_c = join('',file($file));
    if($this->file_c == "")
    {
      $this->file_c == "Template Error: File '".$this->file."' Not Found";
    }
  }
  function get($var = 0)
  {
    if($this->file_c == "")
    {
      return "get(): Template '".$this->file."' not loaded";
    }
    $this->file_c = addslashes($this->file_c);
    if($var == 0)
      return 'echo "'.$this->file_c.'";';
    return '"'.$this->file_c.'";';
  }
}

?>



template sieht dann z.b so aus:


HTML:

<html>
<head>
  <title>{$title}</title>
</head>
<body>



benutzen tut man das dann so:


PHP 4:
$header = new TEMPLATE("html/header.html");

$title = "Titel der Seite";

eval($header->get());


--
class God : public ChuckNorris { };

Dieser Post wurde am 13.05.2005 um 17:43 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.05.2005, 19:36 Uhr
FlAsH
keine Ahnung


Danke vielmals
edit:
doch noch ne frage:
stimmt das?

PHP 4:
<?
$header=include("html/header.html");
$footer=include("html/footer.html");
include("html/index.html");
?>


html:

Code:
<html>
$header
$footer
</html>



oder sehe ich das falsch?
Ich mach noch nicht kange sachen mit php...

Dieser Post wurde am 13.05.2005 um 19:46 Uhr von FlAsH editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
13.05.2005, 21:55 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


In der Regel werden $header und $footer jetzt leer sein, da die eingebundenen Dateien ja keine Werte zurückliefern. lass die Variablezuweisung einfach weg (include(); gibt dir so schon den Inhalt im Browser aus), oder nimm statt include(); file_get_contents();.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
14.05.2005, 08:18 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ansonsten müsstest du


Code:
<html>
<?= $header ?>
<?= $footer ?>
</html>



schreiben, sonst wird einfach $header und $footer ausgegeben, und nicht deren inhalt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ PHP ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: