Template System bzw. Include!!!!

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

  • Template System bzw. Include!!!!

    Hi.

    Ich bin gerade dabei ein kleines CMS für meinen Jugendverein zu schreiben.

    Ich verwende für alle ausgaben HTM Templates.

    Jetzt die Frage:

    Wie bekomme ich es hin wie bei bsp. PHPKIT, dass ich nen Header, Footer usw einbinde??

    Mir wurde hier schonmal geraten, dass ich mal nach "include" suchen soll. Leider funzt die Suche nicht so wie es scheint. Ich bekomme keine Ergebnisse.

    Mir wurden auch schon Template-Systeme wie Smarty usw. vorgeschlagen. Sind mir aber viel zu groß und zu kompliziert.

    Wer weis Rat???

  • #2
    Eval() sollte dein Problem beheben, allerdings solltest du davor alle " durch \" ersetzen

    Und um die Templates einzulesen könntest du file_get_contents() benutzen
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      http://www.tutorials.de/tutorials12907.html
      schau dir das mal an

      Kommentar


      • #4
        hmm

        Das hab ich mir schon angeschaut. Sowas hab ich ja schon.

        Die Templates auszugeben is ja kein Ding.

        Nur möchte ich jetzt 4 Frames. Header, Navigation, Inhalt, und Footer.

        Wenn ich jetzt z.B: in der Navigation den Link "Login" habe und ein User klickt darauf, öffnet sich jetzt das loginscript in dem Inhaltsframe.

        Nun loggt er sich ein und bekommt wieder im Inhaltsframe ein Template "erfolgreich eingeloggt".

        Das dumme is jetzt, dass in der Navigationsframe immernoch der Link "Login" drinne steht.

        Ich möchte jetzt, dass sich ein anderes Template (wo logout statt Login drinne is) im Navigationsframe öffnet.

        Problem is, ich weis nicht wie ich es anpacken soll. Außerdem hab ich dafür ein HTML Frameset alla Frontpage genommen. Kanns ja nich sein.

        Kann ich mir nich ne PHP Datei schreiben, die z.B: den Header ausgibt, darunter die navigation und gleich daneben den Inhalt und darunter den Footer.

        Also, dass mir praktisch die ganze Site aus Templates zusammensetzt???

        Kommentar


        • #5
          if(user_is_logged_in_oder_so)
          eval(blabla, eben der logout link)
          else
          eval(blabla login link)

          Kommentar


          • #6
            hmm

            Ich hab glaub ichn anderes Prob.

            Schaus dir einfach mal an. Is jetzt ein html Frameset. die index.html wird über die index.php aufgerufen. in der index.html hab ich die anderen phpfiles (navigation.php, main.php, header.php und footer.php) als Seiten reingesetzt, die er öffnen soll. In den php´s werden dann die entsprechenden Templates ausgegeben.

            Hier der Link:

            Meine Page

            Nun klickst auf login und meldest dich hiermit an:

            Benutzername: testuser
            passwort: test

            Nach erfolgreichem login, kommt die bestätigung "du bist angemeldet".

            Nun soll sich aber auch die navigation ändern.

            Schaus dir einfach mal an.

            Kommentar


            • #7
              PHP-Code:
              if(is_login_user()) eval("\$navigation = \"".gettemplate("navi_user")."\";");
              else eval(
              "...."); 
              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

              Kommentar


              • #8
                hmmm

                Tut sich irgendwie nichts.

                if(is_login_user()) eval("\$navigation = \"".gettemplate("navi_user")."\";");


                was heißt hier eigentlich das \$navigation ???????


                Ich möchte eigentlich nur, dass meine komplette page nen reload macht wie Phpkit oder ähnliche CMS und sich die Site ganz neu aufbaut.

                Kommentar


                • #9
                  Hallo?

                  Will sich keiner mehr mit mir abgeben??

                  Ich weis, dass ich viele Fragen habe, aber wenn ich das mit dem Seitenaufbau hinbekomme bin ich zufrieden und lass euch in Frieden.

                  Was heißt bei der get Template Funktion dieses $navigation vom vorherig geposteten Code???

                  Kommentar


                  • #10
                    Hilfe

                    Also, so wies aussieht hab ichs doch gecheckt.

                    Hab das jetzt folgendermaßen gemacht:

                    Meine PHP-Datei die ich aufrufe:

                    PHP-Code:

                    <?

                    {

                    include("inc/template_inc.php");

                    }


                    eval ("\$templ_header .= \"".gettemplate("header")."\";"); 



                    eval ("\$templ_navigation .= \"".gettemplate("navigation")."\";"); 



                    eval ("\$templ_main .= \"".gettemplate("main")."\";"); 



                    eval ("\$templ_footer .= \"".gettemplate("footer")."\";"); 


                    eval ("dooutput(\"".gettemplate("index")."\");"); 

                    ?>

                    Wie ihr seht wird am schluss die index ausgegeben.

                    Diese sieht nun so aus:

                    <html>

                    <head>
                    <title>Test</title>
                    </head>

                    <frameset framespacing="0" border="0" frameborder="0" rows=0,*,47>
                    <frame name="header" scrolling="no" noresize target="navigation" src="$templ_header">
                    <frameset cols=0,*>
                    <frame name="navigation" target="main" src="$templ_navigation">
                    <frame name="main" src="$templ_main" scrolling="auto">
                    </frameset>
                    <frame name="footer" scrolling="no" noresize target="navigation" src="$templ_footer">
                    <noframes>
                    <body>

                    <p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht
                    unterstützt.</p>

                    </body>
                    </noframes>
                    </frameset>

                    </html>





                    Aber irgendwie funzt hier gar nix.

                    Dies kommt:

                    Not Found
                    The requested URL /kellersandberg/test/<p></p> was not found on this server.


                    --------------------------------------------------------------------------------

                    Apache/1.3.27 Server at webdesign.morenow.de Port 80

                    Kommentar


                    • #11
                      *rofl*

                      Oh man. Habs hinbekommen. War ja ganz easy. Das was ich mit dem Frameset versucht hab, war ja der totale schwachsinn.

                      Vielen Dank an alle.

                      Kommentar

                      Lädt...
                      X