phpBB2 an Page anpassen

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
ThoRr
Mitglied
Beiträge: 28
Registriert: 01.05.2007 10:26
Wohnort: Münster

phpBB2 an Page anpassen

Beitrag von ThoRr »

Hi!
Ich hab eine schwierige Aufgabe, die ich alleine nicht lösen kann: Ich möchte mein phpBB Board in die Seite einpassen.
Hier mal die Sachen, die ich ändern möchte:
  • Eigener Header, keine Links wie "Einloggen" oder "Registrieren"
  • Das Board soll von meinem eigenen Design umgeben sein, Links zu Boardsuche, Boardteam (selbstprogrammierte Teamseite!), Boardregeln, Mitgliederliste (auch eine eigene, nicht von phpBB) sollen an der Seite erscheinen.
  • Wenn man auf der Homepage eingeloggt ist, soll man auch im phpBB Board eingeloggt sein.
  • Überall, wo ein Nutzername steht, auf user_profil.php?id=x verlinken. Ich habe nähmlich ein eigenes User-System.
  • Signatur aus db.users Spalte signature auslesen
  • Die Buttons unter dem Beitrag ("PM", "Profil"...) sollen nicht mehr vorhanden sein, das ich ein eigenes User-Profil und PN-Center benutze.
Joa, das wars erstmal :D
Weiß jemand, wie man sowas macht?
MfG Torben
Benutzeravatar
gloriosa
Mitglied
Beiträge: 13770
Registriert: 04.01.2005 20:23
Wohnort: Landeshauptstadt Erfurt

Beitrag von gloriosa »

Hallo,
schön das Du es vorgezogen hast Dich vor dem Posten nicht zu informieren. :oops:

Deshalb jetzt nur der Hinweis auf die Homepage und die, viel zu selten benutzte, boardeigene Funktion [ externes Bild ] Suchen um Informationen zu finden. :wink:
Viele Grüße - gloriosa :D
Die einen schützen sich vor frischem Wind, während die anderen ihn nutzen.
Kein kostenloser MOD-Einbau usw. bzw. Support via PN, Email oder IRC !
Benutzeravatar
Jan500
Ehemaliges Teammitglied
Beiträge: 4199
Registriert: 01.03.2003 21:32
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Jan500 »

hilfreich sollte evtl das sein:

KB:forum_homepage
KB:phpbb_seite
KB:template_system
KB:template_syntax
frame ist eher unpraktisch in deinem fall denke ich aber sonst istd as hilfreich: KB:frameset

Jan
"Life begins at 40 Knots...!" :D
kein (kostenlosen) Support per pn, mail, icq usw. | Kostenlosen Support gibt es hier im Forum!
Benutzeravatar
ThoRr
Mitglied
Beiträge: 28
Registriert: 01.05.2007 10:26
Wohnort: Münster

Beitrag von ThoRr »

Vielen Dank erstmal für die Antworten! Allerdings ist das nur ein Teil von dem, was ich brauche. phpBB soll auch die User aus der Datenbank users und nicht die eigenen benutzen.

PS: Hab da noch ne Frage am Rande: Das Template wird erst zum Schluss geparst, oder? Kann ich beliebig meine eigenen Codes im Dokument benutzen? Ich möchte neben dem User nähmlich noch ein Bildchen einfügen, dass anzeigt, ob der User online oder offline ist (was ebenfalls mit eigenem System mitgeloggt wird): <img src="status.php?id={postrow.USER_ID}" alt="{postrow.POSTER_NAME}" title="Status von {postrow.POSTER_NAME}" /> Wenn es nicht schon eine "Variable" mit der aktuellen USer-ID als Inhalt gibt, muss die nähmlich selbst deklarieren. Wo mach ich das am Besten?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

ThoRr hat geschrieben:Vielen Dank erstmal für die Antworten! Allerdings ist das nur ein Teil von dem, was ich brauche. phpBB soll auch die User aus der Datenbank users und nicht die eigenen benutzen.
Das könnte schwieriger werden, da wäre einiges umzubauen. Einfacher vermutlich, wenn du stattdessen die Daten automatisch synchronisieren lässt und die direkte Registrierung über das Forum sperrst. Dann musst du nur dafür sorgen, dass die Daten korrekt in die Usertabelle übertragen werden, im anderen Fall wären vermutlich großflächige Änderungen an vielen Strukturen nötig (die Usertabelle wird bei den Forumsabfragen, den Themenabfragen und vielen anderen Abfragen verwendet, es dürften in erster Näherung 70 bis 90% der Dateien verändert werden müssen, bei der Synchronisation deutlich weniger).
PS: Hab da noch ne Frage am Rande: Das Template wird erst zum Schluss geparst, oder? Kann ich beliebig meine eigenen Codes im Dokument benutzen? Ich möchte neben dem User nähmlich noch ein Bildchen einfügen, dass anzeigt, ob der User online oder offline ist (was ebenfalls mit eigenem System mitgeloggt wird): <img src="status.php?id={postrow.USER_ID}" alt="{postrow.POSTER_NAME}" title="Status von {postrow.POSTER_NAME}" /> Wenn es nicht schon eine "Variable" mit der aktuellen USer-ID als Inhalt gibt, muss die nähmlich selbst deklarieren. Wo mach ich das am Besten?
Die Variable dürfte es noch nicht geben. Einfach die viewtopic.php öffnen und z.b. direkt nach diesem Code hinzufügen:

Code: Alles auswählen

	$template->assign_block_vars('postrow', array(
		'ROW_COLOR' => '#' . $row_color,
		'ROW_CLASS' => $row_class,
		'POSTER_NAME' => $poster,
das System ist in der Knowledge Base beschrieben: KB:template_syntax
Die Variable $poster_id enthält die vermutlich gewünschte ID des Posterstellers des aktuellen Posts. Statt hier ein dynamisch erzeugtes Bild zu verwenden könntest du allerdings den Code der online/offlinestatus prüft auch in der viewtopic.php einbauen, z.b. direkt vor dem oben geposteten Code Segment. Dann könntest du in der Variable je nach Status den Link zu einem anderen statischen Bild speichern.

=> Ja, die Ausgabe erfolgt ganz am Ende. Die Daten zum aktuellen Post werden aber in den oben geposteten Zeilen (und den direkt darauf folgenden) festgesetzt, so dass die Berechnung hier vorher erfolgen sollte und dann das Ergebnis mit in den Block eingebaut werden sollte.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
ThoRr
Mitglied
Beiträge: 28
Registriert: 01.05.2007 10:26
Wohnort: Münster

Beitrag von ThoRr »

Oh, es ist ja ne neue Antwort eingegangen :lol: Hab ich bis jetzt gar nich bemerkt. Vielen Dank für die große Hilfe! Ich werd mich gleich mal ransetzen. Achja, noch ne Frage zum Login: Also ich erstelle, wenn man sich einloggt einen Cookie, der die ID und einen einmaligen Code enthält und eine Session-Variable "ID" mit der ID des Benutzers. Wenn man nicht auf Logout klickt, ist man also immer durch den COokie eingeloggt. Wie kann ich realiesieren, dass phpBB sich genauso verhält. Ich würde dann nähmlich in die logout.php nohc den Logout-Befehl von phpBB packen und bei login.php das gleiche.
Benutzeravatar
ThoRr
Mitglied
Beiträge: 28
Registriert: 01.05.2007 10:26
Wohnort: Münster

Beitrag von ThoRr »

Hab mir mal die Cross-Referenz angeschaut, aber so wirklich weiter hat mir das nicht geholfen :cry: Gibts da nicht einfach eine einzige Funktion, die das Login/Logout ausführt?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ich muss zugeben dass ich mich mit Login/Logout noch nicht so besonders beschäftigt habe, beides ist aber in der login.php realisiert. phpBB setzt aber ebenfalls einen Cookie mit dem der Loginstatus erkannt wird, dies muss entweder in der login.php passieren oder in der sessions.php, die Abfrage des Cookies passiert definitiv in der sessions.php da die Login.php ja nicht in jedem Seitenaufruf verwendet wird.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
ThoRr
Mitglied
Beiträge: 28
Registriert: 01.05.2007 10:26
Wohnort: Münster

Beitrag von ThoRr »

Hi!
Vielen Dank für die Antwort. Ich hab jetzt versucht, einen MySQL befehl in login.php auszuführen:

Code: Alles auswählen

					// Eigene Aenderung: Counter erhöhen:
					$db->sql_query('UPDATE users SET sessions = sessions + 1 WHERE id = ' . $row['user_id']);
Das kommt nach

Code: Alles auswählen

// Reset login tries
					$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);
Aber iwie funzt das net, es wird nicht ausgeführt und wenn ich redirect weiter unten auskommentiere, ezgit das auch keine Wirkung :cry: Woran könnte das liegen?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Lass dir doch mal den passenden Fehler ausgeben:

Code: Alles auswählen

if(!$db->sql_query('DEIN SQL BEFEHL'))
{
message_die(GENERAL_ERROR, 'Fehlerhafter Befehl','',__LINE__,__FILE__,'DEIN SQL BEFEHL');
}
Am besten ersetzt du 'DEIN SQL BEFEHL' durch eine Variable, aber vielleicht kommst du ja so selbst auf den Fehler.

Als Tipp: Vergleiche doch mal deinen Code mit dem Code, nach dem du es einfügst. Da finden sich gewisse Unterschiede was den Namen der Tabelle angeht...
Außerdem ist mir das Feld "sessions" in der Usertabelle auch nicht geläufig...

Oder soll das eine gänzlich andere Tabelle sein?

Nebenbei bemerkt wird der Code natürlich nur dann ausgeführt wenn du dich korrekt neu einloggst...
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“