Template Anzeige Problem

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

  • Template Anzeige Problem

    Hallo,

    habe ein Problem mit einem selbstgeschriebenen Template :
    HTML Teil:
    PHP-Code:
    <html>
    <
    head>
    <
    title>{site_titel}</title>

    <
    meta name="GENERATOR" content="Namo WebEditor v6.0">
    </
    head>
    <
    body>
    <
    br>
    <
    p>Aufgerufene News Überschrift      {news_head}</p>
    <
    p>Aufgerufene News {news}</p>
    <
    p>News Schlagwörter {news_nav}</p>
    <
    p>Loginlink {login}</p>
    <
    p>Neue News Link{new_news_link}</p>
    </
    body>
    </
    html
    Aufruf :
    PHP-Code:
             $html= new template("templates/default/start.php"); // Template File laden
                 
    $news = new news// Neue Instanz von News
                 
    $user = new user;     // User Instanz
                 
    $html->replace("{news_nav}"$news->news_nav()); // News Navigation 
                 
    $html->replace("{news}"$news->news_head($id));  
                 
    $html->replace("{news_head}"$news->news_show($id)); // Newstext
                 
    $html->replace("{login}"$user->login());     // Login / Lockout link
                 
    $html->replace("{new_news_link}"$news->new_news_link());  // Link neue News
                 
    $html->show(); 
    Template Klasse :
    PHP-Code:
      class template {
          var 
    $html;
          var 
    $fn;
          function 
    template($fn)
          {
              if (
    $fn != ""$this->load($fn);
          }
          function 
    show ()
          {
              echo 
    $this->html;
          }
          function 
    load($fn)
          {
              
            
    $fp fopen($fn,"r");
            
    $this->html fread($fp,filesize($fn));
            
    fclose($fp);
          }
          function 
    replace($old,$new)
          {
              
    $this->htmlstr_replace($old,$new,$this->html);
          }
      } 
    Zum Problem :
    Funktionieren tut dies ja auch, nur bei der Ausgabe im Browser stimmt die Reihenfolge nicht.
    Erst kommen alle PHP Ausgaben und die Texte im Template.

    TESTWORT
    TESTNEWS von BENUTZER
    ksdfg-kld
    sdfgsdfgsdfg
    dsfgsdfgsdfg
    dsfgsdfgsdfg
    LogIn

    Aufgerufene News Überschrift :

    Aufgerufene News :

    News Schlagwörter

    Loginlink:

    Neue News Link

    Habe noch nie mit einem Template gearbeitet und überfragt. Wie kann ich erreichen, dass die Ausgaben da erfolgen
    wo sie hin sollen.
    Und was mache ich falsch ?
    Zuletzt geändert von gamto; 04.08.2005, 16:41.

  • #2
    1. lesen und editieren bitte: http://www.php-resource.de/forum/sho...threadid=50454

    2. versuch mal alle interaktionen mit $news erst einmal durch konstante strings zu ersetzen.

    Kommentar


    • #3
      Danke für den Tip ^^

      Ich habe mal alle $html->replace bis auf :
      PHP-Code:
      $html->replace("{login}","test"); 
      heraus genommen und dann stimmt die Reihenfolge. Die Ausgabe erfolgt an der richtigen Stelle.
      Also wird es wohl an den Klassen liegen. Kann man dies irgendwie
      beheben ?

      danke im Vorraus

      Kommentar


      • #4
        naja, ich gehe davon aus, dass die methoden der klasse news falsch aufgebaut sind und eine ausgabe erzwingen, statt den wert mittels return zurückzugeben.

        Kommentar


        • #5
          Ja, danke. Das wirds sein. Werde dann wohl alles umsticken müssen.
          Mit return habe ich nämlich nicht gearbeitet...*hüstel*

          Jo, jetzt geht es.
          Zuletzt geändert von gamto; 04.08.2005, 17:07.

          Kommentar

          Lädt...
          X