Template über Parameter wechseln
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 35
- Registriert: 21.08.2004 10:53
Template über Parameter wechseln
Hi Leute!
Ich hoffe ich kann mein Frage verständlich beschreiben
Wenn man einen Topic über z.B. "http://www.phpbb.de/viewtopic.php?t=83160" öffnet wird ja das Template "viewtopic_body.tpl" gezogen.
Ich bräuchte jetzt einen Code bei dem man das Template durch die Übergabe eines Paramters festlegen kann.
Ein Beispiel. Ich möchte einen Topic über z.B. "http://www.phpbb.de/viewtopic.php?t=831 ... late=light[/b]" aufrufen. Durch den Zusatz "&template=light" soll dann anstatt "viewtopic_body.tpl" das Template "viewtopic_body_light.tpl" gezogen werden. Es sollte die Möglichkeit geben, mehrere verschiedene Templates in der "viewtopic.php" zu definieren.
Wenn der Parameter nicht angegeben wird (Forumstandard) soll ganz normal "viewtopic_body.tpl" gezogen werden.
Schon mal Danke für eure Hilfe...
Gruß
Ich hoffe ich kann mein Frage verständlich beschreiben
Wenn man einen Topic über z.B. "http://www.phpbb.de/viewtopic.php?t=83160" öffnet wird ja das Template "viewtopic_body.tpl" gezogen.
Ich bräuchte jetzt einen Code bei dem man das Template durch die Übergabe eines Paramters festlegen kann.
Ein Beispiel. Ich möchte einen Topic über z.B. "http://www.phpbb.de/viewtopic.php?t=831 ... late=light[/b]" aufrufen. Durch den Zusatz "&template=light" soll dann anstatt "viewtopic_body.tpl" das Template "viewtopic_body_light.tpl" gezogen werden. Es sollte die Möglichkeit geben, mehrere verschiedene Templates in der "viewtopic.php" zu definieren.
Wenn der Parameter nicht angegeben wird (Forumstandard) soll ganz normal "viewtopic_body.tpl" gezogen werden.
Schon mal Danke für eure Hilfe...
Gruß
Hi ...
sollen die verschiedenen "Templates" für verschiedene Foren gelten oder ist die Auswahl willkürlich und soll beim Beitrag schreiben festgelegt werden?
Für die erste Variante würde es einen MOD geben.
Markus
sollen die verschiedenen "Templates" für verschiedene Foren gelten oder ist die Auswahl willkürlich und soll beim Beitrag schreiben festgelegt werden?
Für die erste Variante würde es einen MOD geben.
Markus
.... Telefon-Support - Schnelle Hilfe bei Hackangriffen, Modeinbau, Templateanpassung, Grafikerst., uvm.
.... Es gibt keine Probleme .... Nur neue Chancen
.... Ihr wollt ein einmaliges Template? - Prof. Templateerstellung und phpBB-Anpassungen
.... Es gibt keine Probleme .... Nur neue Chancen
.... Ihr wollt ein einmaliges Template? - Prof. Templateerstellung und phpBB-Anpassungen
-
- Mitglied
- Beiträge: 35
- Registriert: 21.08.2004 10:53
Weder noch
Ich stell mir das so vor das man in die viewtopic.php einen Code einbaut:
if template=light then viewtopic_body_light.tpl
if template=black then viewtopic_body_black.tpl
Wenn der Parameter nicht übergeben wird (Forumstandard) soll ganz normal viewtopic_body.tpl gezogen werden.
Es geht mir bei der Sache darum: Ich habe in meinem Board ein Forum das den Content für meine Homepage enthält (z.B. Infos über unsere Clique). Diesen Beitrag habe ich in der Navigationleiste (nicht phpbb) verlinkt. Wenn man diesen jetzt aufruft erscheint ja der Beitrag im Standard-Forum Layout, also mit Avatar, Infos etc... was nicht so toll aussieht.
Durch die verlinkung mit z.B. "http://www.phpbb.de/viewtopic.php?t=831 ... late=light[/b]" möchte ich nur bezwecken das die verlinkten Beiträge in einem anderen Design (light, ohne Avatar, Infos etc..) dargestellt werden.
Ich stell mir das so vor das man in die viewtopic.php einen Code einbaut:
if template=light then viewtopic_body_light.tpl
if template=black then viewtopic_body_black.tpl
Wenn der Parameter nicht übergeben wird (Forumstandard) soll ganz normal viewtopic_body.tpl gezogen werden.
Es geht mir bei der Sache darum: Ich habe in meinem Board ein Forum das den Content für meine Homepage enthält (z.B. Infos über unsere Clique). Diesen Beitrag habe ich in der Navigationleiste (nicht phpbb) verlinkt. Wenn man diesen jetzt aufruft erscheint ja der Beitrag im Standard-Forum Layout, also mit Avatar, Infos etc... was nicht so toll aussieht.
Durch die verlinkung mit z.B. "http://www.phpbb.de/viewtopic.php?t=831 ... late=light[/b]" möchte ich nur bezwecken das die verlinkten Beiträge in einem anderen Design (light, ohne Avatar, Infos etc..) dargestellt werden.
- mad-manne
- Ehemaliges Teammitglied
- Beiträge: 5403
- Registriert: 18.03.2005 10:00
- Wohnort: Marl im Ruhrgebiet
Dann poste doch mal schnell, wieviel Varianten du haben willst, und wie die Abkürzungen (also die zu übergebenden template=xxx) lauten sollen, und wie dann die "echten" Namen der Templates lauten.
Habe schon was zusammen gehackt und kann dir das dann mal zukommen lassen
Gruss,
Manne,
Habe schon was zusammen gehackt und kann dir das dann mal zukommen lassen
Gruss,
Manne,
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Supportanfragen via E-Mail oder PN werden ignoriert
-
- Mitglied
- Beiträge: 35
- Registriert: 21.08.2004 10:53
Coole Sache:
template=light > viewtopic_body_light.tpl
template=lightb > viewtopic_body_light_black.tpl
Die zwei sollten erst einmal reichen. Ich denk wenn ich mehr brauche kann ich das dann selber erweitern. Ein bisschen kenn ich mich damit schon aus, nur um sowas selber zu erstellen fehlt mir noch das Know-How.
Vielen Dank schonmal....
template=light > viewtopic_body_light.tpl
template=lightb > viewtopic_body_light_black.tpl
Die zwei sollten erst einmal reichen. Ich denk wenn ich mehr brauche kann ich das dann selber erweitern. Ein bisschen kenn ich mich damit schon aus, nur um sowas selber zu erstellen fehlt mir noch das Know-How.
Vielen Dank schonmal....
- mad-manne
- Ehemaliges Teammitglied
- Beiträge: 5403
- Registriert: 18.03.2005 10:00
- Wohnort: Marl im Ruhrgebiet
O.K. Dann werde ich das auch erstmal nicht so super formal machen, da du bei 2 - 5 Templates auch mit meiner Lösung gut bedient sein wirstAmbitition hat geschrieben:Die zwei sollten erst einmal reichen. Ich denk wenn ich mehr brauche kann ich das dann selber erweitern. Ein bisschen kenn ich mich damit schon aus, nur um sowas selber zu erstellen fehlt mir noch das Know-How.

Dauert ein paar Minütchen ...
Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Supportanfragen via E-Mail oder PN werden ignoriert
- mad-manne
- Ehemaliges Teammitglied
- Beiträge: 5403
- Registriert: 18.03.2005 10:00
- Wohnort: Marl im Ruhrgebiet
[kurze Zwischenfrage] .. dir ist schon klar, das der Header und Footer "normal" bleiben werden, also durch die Lösung die ich gerade schreibe nicht beeinflusst werden?!
NUR die viewtopic_body.tpl wird dadurch parametergesteuert!
Alles klar
Manne
NUR die viewtopic_body.tpl wird dadurch parametergesteuert!
Alles klar

Manne
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Supportanfragen via E-Mail oder PN werden ignoriert
- mad-manne
- Ehemaliges Teammitglied
- Beiträge: 5403
- Registriert: 18.03.2005 10:00
- Wohnort: Marl im Ruhrgebiet
Also dann geht's los
!! vorher Backups machen !!
ÖFFNE viewtopic.php und FINDE:
ERSETZE durch:
Viel Spaß damit
Manne.

!! vorher Backups machen !!
ÖFFNE viewtopic.php und FINDE:
Code: Alles auswählen
//
// Load templates
//
$template->set_filenames(array(
'body' => 'viewtopic_body.tpl')
);
Code: Alles auswählen
//
// [Quick&Dirty-Hack by mad-manne ... starts here] parameter-driven Template for viewtopic
//
// erstmal die benötigten Variablen initialisieren ...
$special_template = '';
$use_template = 'viewtopic_body.tpl';
// nun checken wir, ob überhaupt ein template-Parameter übergeben wurde
if ( isset($HTTP_GET_VARS['template']) )
{
$special_template = $HTTP_GET_VARS['template'];
}
// $use_template ist momentan noch auf den standard-template eingestellt ...
// sollte ein "zugelassener" template-Parameter übergeben worden sein, wird er jetzt hier eingestellt!
switch ( $special_template )
{
case 'light':
$use_template = 'viewtopic_body_light.tpl';
break;
case 'lightb':
$use_template = 'viewtopic_body_light_black.tpl';
break;
}
// und last but not least .. hier wird jetzt nicht mehr der fest codierte,
// sondern der Parameter-gesteuerte template zugeordnet ... Das war's ;-)
$template->set_filenames(array(
'body' => $use_template)
);
//
// [Quick&Dirty-Hack by mad-manne ... ends here] parameter-driven Template for viewtopic
//

Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Supportanfragen via E-Mail oder PN werden ignoriert
-
- Mitglied
- Beiträge: 35
- Registriert: 21.08.2004 10:53
- mad-manne
- Ehemaliges Teammitglied
- Beiträge: 5403
- Registriert: 18.03.2005 10:00
- Wohnort: Marl im Ruhrgebiet
das ist "Learning by Code-Studiering"Ambitition hat geschrieben:Wenn ich mir den Code so ansehe check ich was Du machst. Nur selber hätt ich das nicht fertig gebracht.

Hast du auch das hier gelesen und verstanden?
Gruss,mad-manne hat geschrieben:[kurze Zwischenfrage] .. dir ist schon klar, das der Header und Footer "normal" bleiben werden, also durch die Lösung die ich gerade schreibe nicht beeinflusst werden?!
NUR die viewtopic_body.tpl wird dadurch parametergesteuert!
Alles klar
Manne
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Supportanfragen via E-Mail oder PN werden ignoriert