switches in bbcode.tpl? [snippet]

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
QO
Mitglied
Beiträge: 304
Registriert: 21.02.2006 12:59
Kontaktdaten:

switches in bbcode.tpl? [snippet]

Beitrag von QO »

Hi

Ich will in der bbcode.tpl switches einbauen damit links nur für user die eingelogged sind funktionieren und ausgeloggte zum Loggin umgeleitet werden.

Dazu wollte ich z.B. die entsprechenden BBCodes mit <!-- BEGIN switch_user_logged_out --> bzw logged_in anpassen. Leider bekomme ich dann in beim Topic anschauen folgende Fehlermeldung und der Link wird nicht angezeigt...:

Code: Alles auswählen

Parse error: syntax error, unexpected '<' in C:\Forum\xampp\xampp\htdocs\Forum\includes\bbcode.php(113) : eval()'d code on line 64

Wie kann ich die normalen Switches in der bbcode.tpl verwenden?

Danke i.V.

QO
Zuletzt geändert von QO am 11.10.2006 23:38, insgesamt 1-mal geändert.
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Re: switches in bbcode.tpl?

Beitrag von Jensemann »

QO hat geschrieben: Wie kann ich die normalen Switches in der bbcode.tpl verwenden?
Gar nicht. Die bbcode.tpl wird nicht von der Template-Klasse geparsed, sondern wie deine Fehlermeldung schon zeigt, in der bbcode.php. Wenn du dir den Code dafür in der bbcode.php ansiehst, wirst du feststellen das dieser im Vergleich zur Template-Klasse äusserst primitiv gestrickt ist und lediglich die paar Dinge kann die für die standard bbcode.tpl notwendig sind.
Benutzeravatar
QO
Mitglied
Beiträge: 304
Registriert: 21.02.2006 12:59
Kontaktdaten:

Beitrag von QO »

Hmm, gibts wenigstens eine möglichkeit das man bestimmte BBCodes für eingeloggten und ausgeloggten Usern anders anzuzeigen? Es müsste doch irgendwie möglich sein diese unterscheidung einzubauen, auch wenns nicht die standart Switches sind... Es würde ja reichen wenn die einzelnen BBCodes einen anderen BBCode-Switch bekommen...

QO
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Naja, am einfachsten wäre es wohl, ein paar PHP-Kenntnisse vorrausgesetzt, die bbcode.php so anzupassen das für eingeloggte User eine andere TPL-Datei verwendet wird.

Wenn du dies nicht selbst umsetzen kannst, empfehle ich dir einen Eintrag in der Job-Börse.
Benutzeravatar
QO
Mitglied
Beiträge: 304
Registriert: 21.02.2006 12:59
Kontaktdaten:

Beitrag von QO »

Danke für deinen Tipp mit einem 2. bbcode.tpl. Da ich nochnicht perfekt php kann, könnte evtl jemand das mal prüfen...

Hier der Code:

Finde in include/bbcode.php

Code: Alles auswählen

global $template
In Line, After add

Code: Alles auswählen

, $userdata
find

Code: Alles auswählen

	$tpl_filename = $template->make_filename('bbcode.tpl');
Replace with

Code: Alles auswählen

	if ( $userdata['session_logged_in'] )
	{
		$tpl_filename = $template->make_filename('bbcode.tpl');
	}
	else
	{	
		$tpl_filename = $template->make_filename('bbcode_logged_out.tpl');
	}
Dann wird noch die bbcode.tpl kopiert und in obigen bsp. als bbcode_logged_out.tpl
umbenannt. bbcode.tpl ist dann für eingelogged und bbcode_logged_out.tpl für ausgeloggte user.

QO
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

EDIT: Denkfehler, dein Code reicht aus

[snipped]
Benutzeravatar
QO
Mitglied
Beiträge: 304
Registriert: 21.02.2006 12:59
Kontaktdaten:

Beitrag von QO »

Ist das wirklich notwendig? Wenn ich das richtig interpretiere, dann holt es sich die bbcode_tpl automatisch in der "function load_bbcode_template()" oder nicht?

Deine codeänderung in der "bbencode_second_pass" müsste dann vor der.....

Hab ich also doch keinen Denkfehler gemacht....

Danke
Antworten

Zurück zu „Coding & Technik“