tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
1342
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    Hi

    ich möchte mir gerne mein eigenes Template System bauen. Ich hab bei smarty geshend as man da if abfragen einbauen kann, while schleifen usw.
    Wie kann man das in seinem eigenen template realisieren?
    Ich hoffe ihr könnt mir einige brauchbare Tipps geben.
     

  2. #2
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    Kann mir bitte wer helfen?
    Wenn ihr meine Frage nicht verstanden habt sagt das doch :-/
     

  3. #3
    Frigorn Frigorn ist offline Mitglied Silber
    Registriert seit
    Jan 2003
    Beiträge
    89
    Naheliegend wäre es doch, wenn du dir den Code von Smarty ansiehst um zu sehen, wie die das realisiert haben. Oder?
     

  4. #4
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    Die Compilieren das, hat man mir gesagt. Man muss das ja auch aufm servere instalieren
     

  5. #5
    rauchi rauchi ist offline Mitglied Bronze
    Registriert seit
    Aug 2003
    Ort
    Wien
    Beiträge
    27
    Wenn du dein Problem genauer spezifizieren würdest, dann könnte man dir vielleicht leichter helfen.

    Du willst dir ein eigenes Template-System erstellen?
    Eine eigene Template-Class erstellen?
    if, for, while, switch Befehle benutzen?
    Willst du einen Block (template) öfters parsen?

    Schreib doch ein bisschen darüber, was es werden soll, was es können soll, was du dir wünscht, wo du dich nicht auskennst, usw. Schreib lieber zuviel und erkläre auch gerne zu genau, dann tun wir uns leichter - Danke
     
    Selbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.

  6. #6
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    Also folgendes

    Mein Template im Moment verarbeitet die templates so:

    <!-- Tabellen Kopf -->
    <table ....>
    <!-- Tabellen Kopf -->

    <!-- Tabellen Inhalt -->
    <tr>
    <td>{wert1}</td>
    <td>{wert2}</td>
    </tr>
    <!-- Tabellen Inhalt -->

    <!-- Tabellen Fuss -->
    </table>
    <!--Tabellen Fuss -->
    Mit meinem template system lad ich die einzelnen abschnitte iun und gebe sie aus. Tabellen Inhalt wird dabei in php in eine while schleife gesetzt, damit auch alle beitraege ausgelesen werden.

    So mein neues Template System soll folgendes verarbeiten:

    <table ....>
    {while1}
    <tr>
    <td>{wert1}</td>
    <td>{wert2}</td>
    </tr>
    {while1}
    </table>
    Es soll folgendermaßen funktionieren. Im php Skript sind verschiedene while schleifen festgelegt, die der Designer im Template verwenden kann. Beispiel while1 while 2 usw.
    Nur ich weiss nicht wie ich das bewerkstelligen soll, weil das Template wird ja als ganzes eingelesen und nicht mich in Abschnitten.
    Das heisst während der while schleife müsste ich die Ausgabe irgendwie unterbrechen und dann weiterführen.
    Das ist mir nicht so ganz klar wie das gehen soll.

    Ich hoffe ich hab mich jetzt verständlicher Ausgedrückt
     

  7. #7
    Frigorn Frigorn ist offline Mitglied Silber
    Registriert seit
    Jan 2003
    Beiträge
    89
    Original geschrieben von Randar
    Die Compilieren das...
    Nein, Smarty kompiliert seine Templates...

    Original geschrieben von Randar
    Man muss das ja auch aufm servere instalieren
    Wo sonst?

    Auf smarty.php.net bekommst du nicht nur den Quellcode, sondern auch eine Dokumentation, Foren etc.
     

  8. #8
    rauchi rauchi ist offline Mitglied Bronze
    Registriert seit
    Aug 2003
    Ort
    Wien
    Beiträge
    27
    Da würd ich an deiner Stelle aber gleich auf die IT-Class (Integrated Templates) zurückgreifen.

    Damit kannst du z.B. folgendes tun:
    Erstellen des html-templates aus mehrer einzelnen html-files.Aus welchen Templates es besteht kannst du ja dann z.B. mit einem langen switch machen.

    Diese "Master"-Template schaut dann z.B. so aus:
    Code :
    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
    
    <html>
     blablabla
     blablabla
     <!-- BEGIN BLOCK1 -->
      <table>
       <tr>
        <td>{VAR1}</td>
       </tr>
      </table>
     <!-- END BLOCK1 -->
     blablabla
     blablabla 
     <!-- BEGIN BLOCK2 -->
      <table>
       <tr>
        <td>{VAR2}</td>
       </tr>
      </table>
     <!-- END BLOCK2 -->
     blablabla
     blablabla 
     <!-- BEGIN BLOCK3 -->
      <table>
       <tr>
        <td>{VAR3A}{VAR3C}{VAR3B}</td>
       </tr>
      </table>
     <!-- END BLOCK3 -->
     blablabla
    </html>
    diese Blöcke kannst du dann nach Lust und Laune mehrmals, einfach, oder garnicht parsen(ausgeben lassen). Das geht natürlich mit while, if, ...

    Also wieso das Rad neu erfinden

    Wie das funktioniert ist folgendes:
    das Template wird in als String geladen, die Blöcke beginnen immer mit <!-- BEGIN BLOCKx --> und enden mit <!-- END BLOCKx -->. So kann man sie "angreifen"

    Blöcke die nicht gebraucht werden(in denen keine Variable spezifiziert wurde) werden am Ende entfernt. Blöcke die du verwenden möchtest spricht man so an:
    Code :
    1
    2
    3
    4
    5
    6
    
    for($i = 0; $i<2; $i++){
        $tpl->setCurrentBlock("BLOCK1");
        $tpl->setVariable("VAR1", $var1)
        $tpl->parseCurrentBlock("BLOCK1");
    }
    //so wird der Block1 2 mal ausgefüllt

    Wenn du interesse daran hast, schick mir eine KN oder schreibs in den thread. (Bin aber erst wieder ab Mi. wieder am I-net)

    ich hoffe ich habs richtig verstanden *umdieEckeguck*
     
    Selbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.

  9. #9
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    Naja ich wollt das rad schon ganz gerne neu erfinden
    Einfach darum um was zu lernen. Außerdem kann ich es dann besser an mich anpassen
     

  10. #10
    rauchi rauchi ist offline Mitglied Bronze
    Registriert seit
    Aug 2003
    Ort
    Wien
    Beiträge
    27
    Dann kann ich dir, wenn du möchtest ja mal die IT-Class schicken. Damit du dir anschauen kannst, wie das so funktioniert. Ich möcht aber auf keinem Fall aufdrängen
     
    Selbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.

  11. #11
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    Dann schick mir das mal per mail Müsste ja im Profil drinne stehn.

    edit:

    Wäre aber trotzdem nett wenn ich von anderen auch noch Tipps bekommen würde
     

  12. #12
    rauchi rauchi ist offline Mitglied Bronze
    Registriert seit
    Aug 2003
    Ort
    Wien
    Beiträge
    27
    soda email geht nicht, da ich dir nur per formular eine nachricht schicken kann.
    deshalb probier ichs mal per Forum. Hier sollte nun ein zip-file dranhängen. am besten in einem Verzeichnis im htdocs entpacken, dann funktionierts auch.

    Wie man ein Template selbst zusammenstellt aus mehrer files liefer ich nach, bzw vielleicht kommst du selbst drauf, wie es funktioniert.

    viel spaß beim probieren
    - rauchi
    Angehängte Dateien Angehängte Dateien
     
    Selbst wenn ein Meister vom Himmel fallen würde, könne er nach dem Fall nichts mehr meistern.

  13. #13
    akkie akkie ist offline Mitglied Gold
    Registriert seit
    Feb 2003
    Beiträge
    185
    @rauchi

    Hi

    Ich benutze auch die IT-Template Class. Ist es irgendwie möglich dynamischen Inhalt durch nur einen Platzhalter ersetzen zu lassen.

    Mein CMS ist zu Zeit so aufgebaut.

    header
    content //ist dynamisch
    footer

    Das heißt ich habe ein Template für den Header, eins für den Footer und dann mehrere für den Content.

    Ich würde es aber gern so machen das ich nur eine HTML Datei habe in der Header und Footer zusammen drin sind, und in der ich dann den Conntent als Platzhalter ausgebe.

    So kann könnte mann nämlich die Platzhalter vom Header in den Footer schieben ohne den PHP Code zu ändern.

    Hatte es schon mal mit EVAL versucht. Ist aber leider nichts draus geworden.

    Mfg Akkie
     

  14. #14
    JensMayer Tutorials.de Gastzugang
    hab ein rpob mit dem IT template ding
    local es 1A sobald ich es jedoch hochlade bekomme ich fehlermeldung dsa er die datei nicht öffnen kann, wäre für hilfe sehr dankbar!
    ICQ: 68758011
     

Ähnliche Themen

  1. Template System...
    Von Vectormaster im Forum PHP
    Antworten: 12
    Letzter Beitrag: 05.03.09, 12:41
  2. Template System
    Von xppx im Forum PHP
    Antworten: 3
    Letzter Beitrag: 18.07.07, 09:03
  3. Template System
    Von Avedo im Forum PHP
    Antworten: 21
    Letzter Beitrag: 02.06.07, 16:26
  4. Template System
    Von mtk-flo im Forum PHP
    Antworten: 6
    Letzter Beitrag: 08.03.06, 14:54
  5. Template-System
    Von undertaker im Forum PHP
    Antworten: 8
    Letzter Beitrag: 11.03.04, 19:49