Index und Templates

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

  • Index und Templates

    Schönen guten Mittag,

    hab schon gegoogelt und hier im Forum auch gesucht, was ich gefunden habe, hat mich nicht wirklich weiter gebracht.
    ...

    Habe mir heute unter Xampp vlib installiert um auch einmal mit Templates arbeiten zu können.

    Habe jetzt folgendes Problem.
    Wahrscheinlich ist das eine sehr primitive Art dies zu lösen, bin aber noch auf keine anderer Möglichkeit gestoßen.

    Wenn ich meine index.php aufrufe wird über ein

    PHP-Code:
    $_REQUEST["action"]; 
    eben action ausgelesen und je nachdem, was da drin steht, wird über ein switch-case Auswahl eine Seite inkludiert.

    Die Switch-Case -Anweisung befand sich bisher immer in einer bestimmten Spalte, um auf der linken Seite eine Menu zu haben und eben rechts alles für die dynamische Seite.

    Was bisher mit dem Template-System funktioniert ist, dass ich das Basisdesign ausgeben kann. Auch kann ich in der index.php mit
    PHP-Code:
    $temp->setvar('body_text''Hier steht was'); 
    den Platzhalter mit "Hier steht was" füllen. Mein Problem ist jetzt, wie ich dem Script klar mache, dass bei z.b. action=add_user genau in der spalte genau das Template aufgerufen wird, das aufgerufen werden soll.
    Hoffe ihr könnt mir weiterhelfen.
    In meinen Büchern, die ich bisher gelesen habe, stand auch nie etwas von Templates... .
    Danke im Voraus.

  • #2
    Je nach Umfang der Templateengine werden etliche Befehle angeboten. Mit Smarty könnte man mit einem if-Konstrukt
    die entsprechenden Untertemplates einbinden .

    Allerdings ist das dann auch langsam der Punkt, wo viel drüber gestritten wird - wenn ich eh soviel "Logik" im Template brauche, wieso muss ich dann erst die "komische" Template-Syntax lernen, und damit dasselbe machen, wie ich es sonst mit PHP direkt getan hätte... aber das muss jeder selber wissen.

    Guck halt mal in die Doku von vlib...
    ich glaube

    Kommentar


    • #3
      ah. habe grad zufällig rausgefunden, wie es geht....
      Sorry, Bitte schließen oder löschen.

      Kommentar


      • #4
        ... oder du postest einfach mal die Lösung, damit suchende auch was mit dem Thread anfangen können

        Kommentar


        • #5
          bin grade wieder tüfteln, aber soweit funktioniert es:


          index.php:

          PHP-Code:

          <?php
            session_start
          ();
            require_once 
          'vlib/vlibTemplate.php';
            include(
          "config.inc.php");
            
            
          //Neues Objekt zur Wertübergabe an das Template
            
          $tmpl = new vlibTemplate('tmpl/index.htm');
            
          $tmpl->setvar('title_text''TITELSEITE');
            
          $tmpl->setvar('body_text''add_user');
            
          $tmpl->setvar('links','hier kommen die Links rein');
            
          $action=$_GET["action"];
            

            if(isset(
          $action)){
              
              switch(
          $action){
                case 
          "add_user":
                include(
          "add_user.php");
                break; 
              default:
                
          $tmpl->unsetvar('body_text');
                
          $tmpl->setvar('body_text''blablabla');
                break;     
              }
            }
            
          $tmpl->pparse();
          ?>
          add_user.php

          PHP-Code:

          <?php
          $tmpl
          ->setVar('body_text''tmpl/add_user.htm');
          ?>
          leider funktioniert die add_user.php noch nicht wirklich richtig. Habe gedacht, so funktionierts, jedoch wird das add_user.htm formular noch nicht ganz wiedergegeben.
          Zuletzt geändert von DeadNovum; 31.05.2007, 14:41.

          Kommentar


          • #6
            Also anbei mein Problem( siehe Bild. Das Forumlar soll da hin, wo der Pfeil hin zeigt)

            hier nochmal meine index.php:

            PHP-Code:

            <?php
              session_start
            ();
              require_once 
            'vlib/vlibTemplate.php';
              include(
            "config.inc.php");
              
              
            //Neues Objekt zur Wert bergabe an das Template
              
            $tmpl = new vlibTemplate('tmpl/index.htm');
              
            $tmpl->setvar('title_text''TITEL');
              
            $tmpl->setvar('body_text''StandardTEXT');
              
            $tmpl->setvar('links','hier kommen die Links rein');
              
            $action=$_GET["action"];
              

              if(isset(
            $action)){
                
                switch(
            $action){
                  case 
            "add_user":
                  
            $tmpl->unsetvar('body_text');
                  
            $tmpl->setvar('body_text''add_user');
                  include(
            "add_user.php");
                  include(
            "tmpl/add_user.htm");
                  break; 
                default:
                  
            $tmpl->unsetvar('body_text');
                  
            $tmpl->setvar('body_text''blablabla');
                  break;     
                }
              }
              
            $tmpl->pparse();
            ?>
            und hier meine add_user.php:

            PHP-Code:
            <?php
            $tmpl
            ->setVar('add_user''tmpl/add_user_original.htm');
            ?>
            und hier noch die index.htm
            PHP-Code:

            <html>
              <
            head>
                <
            title>
                  {
            tmpl_var name='title_text'}
                </
            title>
            <
            script language="JavaScript">
            <!--
            function 
            MM_openBrWindow(theURL,winName,features) {
            window.open(theURL,winName,features);
            }
            function 
            MM_open***(theURL) {
            fenster window.open(theURL,'Wettschein','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=550,height=400,left=300,top=300');
            fenster.focus();
            }
            //-->
            </script>
              </
            head>
              <
            body bgcolor="#E6A23C"
                <
            table border="0" bordercolor="black" cellpadding="0" cellspacing="1" width="100%" height="100%">
                  <
            tr width="100%">
                    <
            td valign="bottom" align="right" height="15%" bgcolor="maroon">
                      <
            font size="1" face="Verdana" color="ffffff">
                        
            GEWINNT MIT UNS
                      
            </font></td>
                  </
            tr>
                  <
            tr>
                    <
            td height="5%" bgcolor="#F3F3F3" align="right" valign="centre" > </td>
                  </
            tr>
                  <
            tr>
                    <
            td height="80%"
                      <
            table height="100%" border="0" width="100%" height="100%" cellpadding="0" bordercolor="black" cellspacing="0">
                        <
            tr>
                          <
            td width="15%" height="100%" align="left" valign="top" bgcolor="#F3F3F3">
                            <
            font size="1" face="Verdana" color="black">
                              {
            tmpl_var name='links'}
                            </
            font></td>
                          <
            td width="85%" height="100%" align="left" valign="top" bgcolor="#F3F3F3">
                            <
            font size="2" face="Verdana" color="black"> {tmpl_var name='body_text'}
                            </
            font> </td>
                        </
            tr></td>
                  </
            tr>
                </
            table>
              </
            body>
            </
            html

            Angehängte Dateien
            Zuletzt geändert von DeadNovum; 01.06.2007, 07:13.

            Kommentar


            • #7
              jetzt funktionierts

              index.php:
              PHP-Code:
               switch($action){
                    case 
              "add_user":
                      include(
              "add_user.php");
                      
              $tmpl->setvar('content''add_user.htm');
                    break; 
              index.htm
              da wo die Seite reingeladen werden soll habe ich folgendes stehen:

              {tmpl_include file='{var:content}'}

              und in der add_user.php
              PHP-Code:
              <?php
              $tmpl
              ->setVar('content''tmpl/add_user_original.htm');
              ?>
              dann gehts. ENDLICH

              Kommentar


              • #8
                die IF prüfung kann man auch im template machen falls man da etwas zu entscheiden hat.

                die vlib-template anweisung lautet:

                <tmpl_if>
                bla
                <tmpl_else>
                blabla
                </tmpl_if>

                vorteil gegenüber smarty find ich das es halt xml conforme template tags gibt..
                aber das ist wohl ansichtssache

                Kommentar

                Lädt...
                X