Förmlichkeit bei Variable

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

  • Förmlichkeit bei Variable

    Hi.

    Bekomm das nicht in die richtige Form. Und zwar hab ich diesen Code:

    PHP-Code:

    implode
    ("",file("templates/".$template.".".$endung))); 
    und möchte anstatt templates/ diese Variable setzen $template_dir.

    So funzt es auf jeden Fall nicht:

    PHP-Code:

    implode
    ("",file("$template_dir.".".$template.".".$endung))); 
    Kann jemand helfen?

    Danke schonmal.

  • #2
    probier mal den hier:
    PHP-Code:
    implode("",file($template_dir.$template.".".$endung)); 
    wenn´s nicht klappt, poste mal den inhalt von template_dir
    (-:
    Bookmarks:·Bilder·Jobs·Recht·
    kostenloser Webkataloge-Assistent

    Kommentar


    • #3
      Also:

      PHP-Code:

      <?

      // Wenn Template Verzeichnis nicht gesetzt, setzen auf "templates/"

         if (!isset($template_dir))

         {

         $template_dir = "templates/";

         }



      function gettemplate($template,$endung="htm")

      {
      return str_replace("\"","\\\"",implode("",file($template_dir.$template.".".$endung)));
                                     
      }

      function dooutput($template) 
      {
      echo $template;
      }

      ?>
      Die $template_dir wird zwangsweise wohl auf zemplates/ gesetzt. Is mein Verzeichnis, in dem meine htm templates liegen. Dateien sind auch korrekt vorhanden. Wenn ich anstatt der Variable templates/ angebe funzt es ja auch. Ich wills halt flexibler.

      Kommentar


      • #4
        hmm,

        funktioniert kill_bills vorschlag?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Nope. funzt nicht.

          Er findet dann meine Templates net, weil diue Pfadangabe net korrekt ist.

          Kommentar


          • #6
            dann korregier sie!?
            EDIT:
            in dem du schaust, was in der fehlermeldung fürn pfad benutzt wird, und schaust, ob das file dort existiert bzw. daß du den pfad anpaßt
            EDIT:
            ich nochmal: steht das ganze in einer klasse - nimm $this->, wenn nicht, dann mußt den pfad übergeben, oder ne KONSTANTE draus machen
            Zuletzt geändert von derHund; 02.02.2004, 19:07.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Mach mal vor dem return in gettemplate() ein "global $template_dir;"

              Kommentar


              • #8
                Original geschrieben von KTJ
                Mach mal vor dem return in gettemplate() ein "global $template_dir;"
                nee, dann lieber per übergabe, oder, wenns geht (sollte), per konstante ...
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Ich persönlich würde es ja auch eher als Parameter an die Funktion übergeben, nur wär das "global" bei dem geposteten Quellcode eine ebenso einfache Möglichkeit gewesen...

                  function gettemplate($template,$endung="htm",$template_dir="templates/")

                  ...dann brauchst du das Parameter ebenso wie die Endung nichtmal übergeben und hast auch einen Standartwert, so wie du es afaik wolltest. Das würde dir sogar das Überprüfen, ob die Variable gesetzt ist, im vorherigen Verlauf, ersparen.

                  Kommentar


                  • #10
                    aber

                    ich will ja keinen festen wert haben, sondern flexibel sein. Möchte auch mal den Pfad "templates/guestbook/" oder "templates/forum/" verwenden.Wenn ich die template.inc.php in anderen Files inclkude möchte ich vor dem iclude Befehl den Pfad angeben können, aus dem er das Template laden soll.

                    Deshalb die Variable. ansonsten könnte ich es wie in meinem 1. Post ja gleich fest rein schreiben.

                    Kommentar


                    • #11
                      So ist es doch variabel...du kannst ja beliebig die Werte an die Funktion übergeben, nur brauchst du es alternativ nicht machen und hast trotzdem Standartwerte...

                      Beispiel:

                      1. Aufruf:
                      gettemplate("xyz")
                      ...bringt dir das Template mit dem Namen "xyz"...die Endung bleibt "htm" und der Pfad bleibt "templates/", da die letzten beiden Parameter nicht angegeben, dafür aber in der Funktion vordefiniert, sind.

                      2. Aufruf:
                      gettemplate("xyz","htm","templates/xyz/")
                      ...bringt dir das Template mit dem Namen "xyz" mit der Endung "htm", welches im Pfad "templates/xyz/" liegt.

                      Kommentar

                      Lädt...
                      X