Templates

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Templates

    Hi,

    da ich ein grösseres Projekt vorhabe, möchte ich mir eine Template Klasse schreiben.

    ich habe bis jetzt 2 Dateien : keywors.inc und template_class.php

    in keywords sind die zu suchenden wörter und ihre entsprechenden ersetzungen

    in der php datei gibs eine funktion, die included keywords.inc, ersetzt mittels ereq_replace die wörter durch den code und liefert das ergebnis als string zurück, der dann ausgegeben werden kann.

    wo ist mein denkfehler, was fehlt noch ?

    es gibt ja anscheinend rieseige template klassen, aber ka was die sonst noch alles tun.

    kann einer mal grob skizzieren, was template klassen alles so leisten sollen/ müssen ?


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

  • #2
    Re: Templates

    Original geschrieben von MaxP0W3R
    kann einer mal grob skizzieren, was template klassen alles so leisten sollen/ müssen ?

    was sie können sollen entscheidet der entwickler. wenn sie kaffee kochen sollen, musst du dir aber was anderes einfallen lassen
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      was google ? :P

      ich weiss was ein template ist, nur verstehe ich nicht, wie manche so ein Aufsehen darum machen, ich hab in 10 minuten eine Klasse geschrieben, die aus jedem template und einer keyword datei den entsprechenden fertigen HTML code generiert.

      ich hab nur das gefühl, was vergessen zu haben


      und gib mal in google template ein, da kriegst du alles, nur nicht das was man braucht


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        du hast also 3 dateien

        datei1.html
        Code:
        {$title}
        keywords.inc.php
        PHP-Code:
        <?php
        $title
        ='Mein Titel';
        ?>
        datei1.php
        PHP-Code:
        <?php
        include 'keywords.inc.php';
        $datei=implode("\,"file('datei1.html'));
        echo 
        preg_replace('%{$title}%'$title$datei);
        was anderes macht deine klasse nicht oder?

        sinn von templates isses, design und code voneinander zu trennen, wie zum beispiel die auflistung aller user in ner select-box
        Code:
        <select name="user">
        {section name=user loop=$users}
                 <option value="{$users[user].id}">{$users[user].name}<option>
        {/section}
        </select>
        und sowas kriegst du nicht hin, du ersetzt nämlich nur fest definierte blöcke in einer datei durch fest definiert einhalte in einer anderen datei
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          ah, da läuft der hase, stimmt, sowas ist echt nützlich, werd ich mir noch coden müssen, aber das dauert sicher länger als 10 minuten

          thx für diese konstruktive Antwort

          edit: für mein aktuelles Projekt reicht diese statische Klasse allerdings. Ich habe ein paar Formulare, ein paar Ausgabeseiten, aber alles wird zu 100% gleich bleiben während der Entwicklung, es geht nur darum, dass ich im Dreamweaver die Ausgabeseiten designe, dort die Schlüsselwörter schreibe, und meine template Klasse ersetzt die Wörter durch den inhalt von ausgelesen sql-Werte oder php-code schnipsel.

          Das wichtigste ist also erst mal die Ausgabe mit Echo zu vermeiden.

          Dynamische Formulare sind noch nicht nötig.

          edit 2: ich schreib mal wie ich das gelöst habe, ich habe das so gemacht, dass es voll-dynamisch ist, und man die keywords jederzeit ändern kann.


          Die HTML Datei

          Code:
          [--datum--]
          Die Datei mit den schluesselwoertern

          PHP-Code:
          <?
          $keyword = array();
          $ersetzung = array();

          ////////////////////////////////////////////////////////////
          // Die Schluesselwoerter und ihre zu ersetzenden Pendants //
          // hier paarweise eintragen.                              //
          // $keyword[x] wird durch ersetzung[x] ersetzt            //
          ////////////////////////////////////////////////////////////

          $keyword[0] = "[--datum--]";
          $ersetzung[0] = "<? date(d); ?>":

          ?>
          Die Template "klasse"
          ( ok klasse ist übertrieben, aber ist ja erstmal nur der angfang)

          PHP-Code:
          <?
          // Template System v0.01

          class pm_template
          {
              function replace_keywords($template_datei)
              ////////////////////////////////////////////////////
              // Diese Funktion liest die gewuenschte Datei ein //
              // und ersetzt die Schluesselwoerter durch den    //
              // entsprechenden Quellcode, und gibt das         //
              // Template Ausgabefertig als String zurück.      //
              ////////////////////////////////////////////////////
              {
                  require("keywords.inc"); // einlesen der Datei mit den zu ersetzenden Schluesselwoertern
                  $datei_handle = fopen($template_datei, "r"); // Template oeffnen
                  $ausgabe = fpassthru($datei_handle); // in einen String lesen
                  $i = 0; // init
                  foreach ($keyword as $word)
                  // jedes Schluesselwort wird nun ersetzt
                  {
                      $ausgabe = ereg_replace("/".$word."/", $ersetzung[$i], $ausgabe);
                      $i++;
                  }
                  return $ausgabe;
              }
          }
          ?>
          Zuletzt geändert von MaxP0W3R; 15.12.2003, 15:06.


          An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

          Kommentar

          Lädt...
          X