Problem mit Smarty, Menüs, Submenüs und index.php?page=kontakt [gelöst]



  • Hallo,
    Erstmal etwas Source:

    <html><body>
    <h1>Menü</h1>
    <a href="index.php?page=seite1" >Seite1</a>
    <a href="index.php?page=seite2" >Seite2</a>
    <a href="index.php?page=seite3" >Seite3</a>
    <h2>Sub Menü</h2>
    <a href="index.php?page=seite1&sub=1" >SubSeite1</a>
    <a href="index.php?page=seite1&sub=2" >SubSeite2</a>
    <a href="index.php?page=seite1&sub=3" >SubSeite3</a>
    <h3>Content</h3>
    Wenn man auf Seite1 klickt soll der Inhalt von Seite 1 dargestellt werden und das Submenü von Seite1.
    Wenn man auf Seite2 klickt soll der Inhalt von Seite 2 dargestellt werden und das Submenü von Seite2.
    Aber wie mache ich das mit Smarty? Wie man das ohne Smarty macht weis ich. Siehe Hier --> http://tut.php-q.net/frames.html#u5
    aber ich bekomme es nicht mit Smarty hin. 
    </body></html>
    

    Vielen Dank für eure Hilfe

    //edit [gelöst] siehe weiter unten
    Ich möchte auch die ausgewählten Links markieren. Warum funktioniert das nicht:?

    <a href="index.php?page=presse" {if $smarty.get.page=='presse'}class="selected"{/if}>Presse</a>
    <a href="index.php?page=kontakt" {if $smarty.get.page=='kontakt'}class="selected"{/if}>Kontakt</a>
    <a href="index.php?page=foto" {if $smarty.get.page=='foto'}class="selected"{/if}>Foto</a>
    

    Es wird immer nur ein Link markiert. Und in der Variable $smarty.get.page steht auch immer der gleiche wert drinn, egal wie oft ich auf einen Link klicke.
    //Dieses Problem ist gelöst man muss caching deaktivieren



  • siehe http://smarty.php.net/manual/de/

    Ich schätze du suchst so etwas wie das hier?

    {include file='$page.tpl'}
    


  • jo danke aber mal folgendes beispiel:

    <html><body>
    <h2>Menü</h2>
    <a href="index.php?page=poll">Umfrage</a>
    <a href="index.php?page=gaestebuch">Gästebuch</a>
    <h1>Content</h1>
    {include file='$smarty.get.page'.tpl} <!-- Funktioniert nicht wie muss ich es schreiben? -->
    </html></body>
    

    und wie rufe ich dann die dazugehörigen php-scripte auf?

    Vielen Dank



  • hallo habe eine lösung gefunden
    Lösung:
    also erstmal ein template von der ganzen seite
    templates/index.tpl

    <html><body>
    <h2>Menü</h2>
    <a href="index.php?page=poll">Umfrage</a>
    <a href="index.php?page=gaestebuch">Gästebuch</a>
    {include file=$includefile} <!-- Hier kommt später der Content hin -->
    </html></body>
    

    Dann Brauchen wir eine Array für das Menü
    configs/config.php

    <?php
      $dateien = array();
      $dateien['poll'] = "poll.php";
      $dateien['gaestebuch'] = "gaestebuch.php";
      $dateien['startseite'] = "startseite.php";
      $templatedateien['poll'] = "poll.tpl";
      $templatedateien['gaestebuch'] = "gaestebuch.tpl";
      $templatedateien['startseite'] = "startseite.tpl";
    ?>
    

    jetzt die index.php

    <?php
      require('configs/config.php');
      $smarty = new Smarty;
    
      if(isset($_GET['page']) AND isset($dateien[$_GET['page']]))
      {
        include $dateien[$_GET['page']];
        $smarty->assign('includefile', $templatedateien[$_GET['page']]);
      }
      else
      {
        include $dateien['startseite'];
        $smarty->assign('includefile', $templatedateien['startseite']);
      }
    
      $smarty->display('index.tpl');
    ?>
    

    So könnte eine *.php Datei aussehen:
    startseite.php

    <?php
    $smarty->assign('name', 'Max Mustermann');
    ?>
    

    und die startseite.tpl

    <h2>Startseite</h2>
    <p> Hallo {$name} Willkommen auf bla.de </p>
    

    cu



  • Year health and happiness!

    <a href= ></a> [url=][/url]



  • You need it.
    http://louise.optomas.info
    <a href= http://louise.optomas.info >louise hodges video clips</a> louise hodges video clips


Anmelden zum Antworten