Index und Templates

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


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

      Comment


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

        Comment


        • #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.
          Last edited by DeadNovum; 31-05-2007, 13:41.

          Comment


          • #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

            Attached Files
            Last edited by DeadNovum; 01-06-2007, 06:13.

            Comment


            • #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

              Comment


              • #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

                Comment

                Working...
                X