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