Template-System und while

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

  • #16
    Ich habe ja geschrieben das folgedner Fehler auftritt:

    Notice: Undefined property: Template::$pl in tpl\class_template.inc.php on line 224

    Notice: Undefined property: Template::$pl in tpl\class_template.inc.php on line 224

    Notice: Undefined property: Template::$pl in tpl\class_template.inc.php on line 224
    Und die Line hab ich ja im obigen Beitrag auch angegeben... mehr kann ich auch nicht machen wenn ich nicht weiterkomme. Sonst hätte ich ja nicht hier reingeschrieben.

    Aus der DB werden die Werte auch korrekt ausgelesen, also da kann das Problem auch nicht liegen.

    Zudem: was bringen mir Beispiele wenn sie nicht funktionieren? Die sind ja da um das ganze zu verstehen und zu zeigen wie es fertig aussieht .
    Zuletzt geändert von pascal007; 08.05.2007, 11:17.

    Kommentar


    • #17
      [COLOR=red]tpl != pl [/COLOR]

      Beseitige endlich die Fehler und tu was man dir sagt. Ansonsten hilft dir hier keiner.
      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

      Kommentar


      • #18
        Na na, wer wird denn gleich ausflippen und unfreundlich werden? pl ist schließlich vollkommen richtig und leitet sich vermutl. von Platzhalter ab...

        @pascal: den fehler könntest du leicht beheben, indem du in der klasse die variable definieren würdest.

        helfen tuts vermutlich nicht.

        wobei ich auch nicht verstehe, warum du unbedingt mit der jahre alten klasse arbeiten willst, obwohl ich dich bereits auf eine neuere version hingewiesen hab.

        Kommentar


        • #19
          So hab mal die neuste Version von KTemplate genommen und mit der kalppt's jetzt für den Moment . Vielen Dank für eure Geduld und Hilfe .

          Kommentar


          • #20
            So komme jetzt mit dem Template ganz gut zurecht. Jetzt habe ich eine weitere frage, weil ich keine ahnung habe wie ich das realisieren kann:

            Ich habe z.B. die Datei "viewtopic.php" diese nutzt die Tpl-Datei "viewtopic.tpl" dann habe ich eine Datei "header.php" und die entsprechende Datei "header.tpl". Jetzt möchte ich die "header.php" in viewtopic.php includen. Das geht mit include(); nicht (hätte mich auch gewundert ). Ich könnte zwar ne neue Datei machen (index.php) und die würde wie folgt aussehen:

            PHP-Code:
            <?php

            include("header.php");

            include(
            "viewtopic.php");

            ?>
            So würde es gehen, aber es gibt sicher eine möglichkeit die "header.php" direkt in viewtopic.php einzufügen. Ich hoffe mir kann da jemand helfen. Nutze jetzt die neuste KTemplate-Engine.

            Kommentar


            • #21
              funktionieren so Templates ?

              Daß man den header in den content reinpackt ?

              sehr seltsam ...

              Ich würd den Header zuerst includen und dann den content:

              PHP-Code:
              error_reporting(E_ALL);
              session_start();

              // ein paar Voreinstellungen holen
              include "include/config.php";

              // Sprachdatei einbinden
              include "lang/l_german.php";

              // Loginstatus prüfen
              if(!isset($_SESSION['login'])) $_SESSION['login'] = "no"

              // Ausgewählte Datei einbinden sofern sie existiert
              if(isset($_GET['f']) && file_exists($_GET['f'].".php")){
                  include 
              $_GET['f'].".php";
                  }
              else{
                  include 
              "index_content.php";
                  }

              /* Ausgabeteil */
              include "template/header.tpl.html";
              include 
              "template/left_column.tpl.html";

              if(isset(
              $_GET['f']) && file_exists("template/".$_GET['f'].".tpl.html")){
                  include 
              "template/".$_GET['f'].".tpl.html";
                  }
              else{
                  include 
              "template/index.tpl.html";
                  }

              if (
              $show_right_column != 0) include "template/right_column.tpl.html";

              include 
              "template/footer.tpl.html"
              vielleicht bringts Dir was.

              Kommentar


              • #22
                Joa konnte was anfangen damit hast mich auf ne Idee gebracht .

                Meine header.php sieht jetzt so aus:

                PHP-Code:
                <?php
                // Create instance of Template object
                $t = new KTemplate("templates/overall_header.tpl");


                // assign a string variable to a placeholder (simple replacing)
                $t->derheader "Das wäre der Header!";




                // print the results
                $t->out();
                ?>
                Diese Datei kann ich jetzt direkt in viewtopic.php (wo auch ein Tpl ausgegeben wird) includen. Es läuft alles perfekt, ausser dass wenn ich nach Fehlern mit error_reporting(E_ALL); schaue kommen folgende Fehlermeldungen:

                Notice: Undefined variable: forum in index.php on line 16

                Notice: Undefined variable: topic in index.php on line 17

                Notice: Undefined variable: topic in index.php on line 19

                usw...
                Ohne den E_ALL kommen die Fehlermeldungen nicht. Nehme deshalb an dass es nicht all zu schlimme Fehler sein werden... bekomme ich die nocht irgendwie weg?

                Kommentar


                • #23
                  Original geschrieben von pascal007

                  Ohne den E_ALL kommen die Fehlermeldungen nicht. Nehme deshalb an dass es nicht all zu schlimme Fehler sein werden... bekomme ich die nocht irgendwie weg?
                  jo entweder du definierst die variablen vorher

                  sprich bsp.
                  PHP-Code:

                  $forum
                  =''
                  oder du machst an der stelle wo die var ist einfach ein @ davor .. was die fehlermeldung unterdrückt.

                  davon würd ich aber nur mit vorsicht gebrauch machen!

                  besser ist das beispiel.
                  Bitte Beachten.
                  Foren-Regeln
                  Danke

                  Kommentar


                  • #24
                    wenn eine Variable nicht definiert ist, dann überleg ich mir warum sie nicht definert ist.

                    und bei einer viewtopic.php würd es mir doch sehr zu denken geben wenn in der Variable $topic nix drin steht.

                    Kommentar


                    • #25
                      oder du machst an der stelle wo die var ist einfach ein @ davor .. was die fehlermeldung unterdrückt.
                      So ein unfug, da kannst du ja gleich wieder das error_reporting aus schalten.

                      Kommentar


                      • #26
                        Original geschrieben von Koala
                        und bei einer viewtopic.php würd es mir doch sehr zu denken geben wenn in der Variable $topic nix drin steht.
                        Der Witz an der Sache ist ja, dass alle Variabeln die richtigen Werte enthalten .

                        Kommentar


                        • #27
                          Original geschrieben von pascal007
                          Der Witz an der Sache ist ja, dass alle Variabeln die richtigen Werte enthalten .
                          Achja? Dann schreib mal in die index.php auf Zeile 17 ein var_dump($topic); und poste mal die Ausgabe.
                          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                          var_dump(), print_r(), debug_backtrace und echo.
                          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                          Kommentar


                          • #28
                            Ja das wäre "NULL", aber ich brauche die Variable an dieser Stelle ja nicht .

                            Kommentar


                            • #29
                              OffTopic:
                              Noch nicht mal sauber scripten können - aber es muss natürlich gleich mal wieder ein eigenes Template-System sein ...
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X