Template über Parameter wechseln

Alles zu Styles, Templates, Icons und Smilies für phpBB 2.0, sowie allgemeine Designfragen zur Integration von phpBB in bestehende Websites.
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.
Ambitition
Mitglied
Beiträge: 35
Registriert: 21.08.2004 10:53

Template über Parameter wechseln

Beitrag von Ambitition »

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ß
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

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
Ambitition
Mitglied
Beiträge: 35
Registriert: 21.08.2004 10:53

Beitrag von Ambitition »

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.
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

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,
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Ambitition
Mitglied
Beiträge: 35
Registriert: 21.08.2004 10:53

Beitrag von Ambitition »

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....
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Ambitition 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.
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 wirst :D

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
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

[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 :roll:
Manne
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Also dann geht's los 8)
!! vorher Backups machen !!

ÖFFNE viewtopic.php und FINDE:

Code: Alles auswählen

//
// Load templates
//
$template->set_filenames(array(
	'body' => 'viewtopic_body.tpl')
);
ERSETZE durch:

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
//
Viel Spaß damit :P
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Ambitition
Mitglied
Beiträge: 35
Registriert: 21.08.2004 10:53

Beitrag von Ambitition »

Vielen Dank!

Wenn ich mir den Code so ansehe check ich was Du machst. Nur selber hätt ich das nicht fertig gebracht.

Ich bau ihn heut Abend gleich mal ein. Bin im Moment noch auf der Arbeit...

Wenn was nicht klappt melde ich mich nochmal bei Dir.

Gruß
Tommy
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Ambitition hat geschrieben:Wenn ich mir den Code so ansehe check ich was Du machst. Nur selber hätt ich das nicht fertig gebracht.
das ist "Learning by Code-Studiering" :P

Hast du auch das hier gelesen und verstanden?
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 :roll:
Manne
Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Antworten

Zurück zu „phpBB 2.0: Styles, Templates und Grafiken“