Seite 1 von 2
Neues: datei.php?mode=xy - an tpl zugeordnet
Verfasst: 05.07.2006 14:14
von YoOoOoOo
Welche Codeschnipsel muss ich in datei.php einfügen, damit ein mode entsteht, sodass es in der adressleiste heisst:
datei.php?mode=xy
Diese Mode sollte dann auch noch an ein TPL zugeordnet werden können ....
Ich habs mal folgendermassen versucht:
Code: Alles auswählen
switch( $mode )
{
case 'memberlist':
break;
}
$template->set_filenames(array(
'memberlist' => 'groupcp_memberlist.tpl')
);
Aber das funktioniert leider nicht. Wenn ich nun datei.php?mode=memberlist öffne, erscheint bloss der Inhalt von datei.php
Yo
Verfasst: 05.07.2006 15:31
von Simlau
Was ist bei dir deine $mode Variable?
Die müsste in etwa so aussehen:
Verfasst: 05.07.2006 19:22
von YoOoOoOo
Jap, aber funktioniert leider auch so noch nicht
Code: Alles auswählen
mode = $_GET['mode'];
switch( $mode )
{
case 'memberlist':
break;
}
//
// Load templates
//
$template->set_filenames(array(
'memberlist' => 'groupcp_memberlist.tpl')
);
Verfasst: 05.07.2006 19:50
von punkface
Hallo
Der Code kann auch gar nicht funktionieren. Der(/Das?) switch hat keine Funktion, ist somit komplett sinnlos, und bei der Zuweisung der Template-Datei wird überhaupt kein Bezug auf die Variable $mode genommen.
Wenn du mit einem switch arbeiten willst, dann gehts so:
Code: Alles auswählen
$tpl_datei = '';
switch($mode)
{
case 'memberlist':
$tpl_datei = 'datei.tpl';
break;
case 'bla':
$tpl_datei = 'bla.tpl';
break;
default:
$tpl_datei = 'groupcp_memberlist.tpl';
break;
}
$template->set_filenames(array(
'memberlist' => $tpl_datei)
);
Verfasst: 05.07.2006 21:49
von faraday
Das kannst du auch mit einem Template machen. Das heißt nur eine tpl Datei:
Code: Alles auswählen
// Definiere Variablen
$mode = $_GET['mode'];
$switch = "";
switch($mode)
{
case 'memberlist':
$switch = 'switch_memberlist';
break;
case 'bla':
$switch = 'switch_bla';
break;
default:
$switch = 'switch_groupcp_memberlist';
break;
}
// Lade $switch für Block
$template->assign_block_vars($switch, array());
// Wähle Template Dateien
$template->set_filenames(array(
'body' => 'deine_tpl_datei.tpl')
);
// Lade Template Dateien
$template->pparse('body');
Dann brauchst du in deine_tpl_datei.tpl nur:
Code: Alles auswählen
<!-- BEGIN switch_memberlist -->
Dein memberlist-code
<!-- END switch_memberlist -->
<!-- BEGIN switch_bla -->
Dein Bla-code
<!-- END switch_bla -->
<!-- BEGIN switch_groupcp_memberlist -->
Dein groupcp_memberlist-code
<!-- END switch_groupcp_memberlist -->
machen
Gruß fara
Verfasst: 06.07.2006 19:21
von Jan500
hi
und wie groß soll dann die tpl werden? O_O
was spricht gegen mehrere tpl dateien?
Jan
Verfasst: 06.07.2006 20:47
von YoOoOoOo
Soweit so gut. Wie ist es denn anhand von Switches möglich, dass, wenn man z.B. auf einen Button oder auf einen Link klickt, nur noch der Inhalt eines bestimmten Switches sichtbar ist?
Yo
Verfasst: 06.07.2006 21:23
von faraday
Jan500 hat geschrieben:hi
und wie groß soll dann die tpl werden? O_O
was spricht gegen mehrere tpl dateien?
Jan
War ja nur ein Vorschlag

Verfasst: 07.07.2006 17:17
von YoOoOoOo
YoOoOoOo hat geschrieben:Soweit so gut. Wie ist es denn anhand von Switches möglich, dass, wenn man z.B. auf einen Button oder auf einen Link klickt, nur noch der Inhalt eines bestimmten Switches sichtbar ist?
Yo
Hat jemand hierzu eine Idee?
Yo
Verfasst: 07.07.2006 18:02
von MagMo
Hi,
YoOoOoOo hat geschrieben:Soweit so gut. Wie ist es denn anhand von Switches möglich, dass, wenn man z.B. auf einen Button oder auf einen Link klickt, nur noch der Inhalt eines bestimmten Switches sichtbar ist?
Code: Alles auswählen
$mode = $_GET['mode'];
$tpl_datei = '';
switch($mode)
{
case 'memberlist':
$tpl_datei = 'datei.tpl';
break;
case 'bla':
$tpl_datei = 'bla.tpl';
break;
default:
$tpl_datei = 'groupcp_memberlist.tpl';
break;
}
$template->set_filenames(array(
'body' => $tpl_datei)
);
// Lade Template Dateien
$template->pparse('body');
dann ruft ein Link auf datei.php?mode=memberlist den Inhalt der tpl-Datei memberliste auf, ein Link auf datei.php?mode=bla den Inhalt der tpl-Datei bla usw.
Grüße
MagMo