Usernamen auslesen (phpBB3)

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Sollte man eine Übersicht über alle vordefinierten Variablen haben?

Ja
10
100%
Nein
0
Keine Stimmen
 
Insgesamt abgegebene Stimmen: 10

jimmartens
Mitglied
Beiträge: 369
Registriert: 28.11.2008 20:04
Wohnort: Hamburg
Kontaktdaten:

Usernamen auslesen (phpBB3)

Beitrag von jimmartens »

Gibt es eine Variable, die den Usernamen ausliest? Ich möchte nämlich zwei Texte anzeigen, den einen wenn ein Gast auf die Seite kommt und
den anderen, wenn ein User auf die Seite kommt.

Welche Variable füge ich in den Text ein, damit dieser den Usernamen anzeigt? Z.B. Hans Müller, es tut mir leid etc.
Damit die ganze Info persönlich klingt.

EDIT: Wie kann man ein Link einfügen in ein Text, sodass er als Link und nicht ab dem "//" als Kommentar angesehen wird?
Zu dem letzten: Gelöst.

Einfach den gesamten Text in der Language-Datei abspeichern und schon kann man ohne Probleme einen Unterschied zwischen Gästen und Usern machen.
Das einzige, was mir noch nicht klar ist, ist wie ich einen Usernamen anzeigen lassen kann. Es gibt zwar schon viele dieser Beiträge zu phpBB2, aber noch keinen zu 3, deswegen bin ich mir nicht sicher, ob die Variablen aus 2 auch für 3 passen.
Bitte um schnelle Antwort.
Benutzeravatar
djchrisnet
Mitglied
Beiträge: 1275
Registriert: 29.06.2007 15:52
Wohnort: Elmshorn
Kontaktdaten:

Beitrag von djchrisnet »

$user->data['username']
$user->data['user_id']
etc
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Beitrag von Metzle »

Hallo,

zu deiner Umfrage:

schau mal in die Sourcecodedoku von phpBB3.

http://area51.phpbb.com/docs/code/
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
jimmartens
Mitglied
Beiträge: 369
Registriert: 28.11.2008 20:04
Wohnort: Hamburg
Kontaktdaten:

Beitrag von jimmartens »

Metzle hat geschrieben:schau mal in die Sourcecodedoku von phpBB3.
http://area51.phpbb.com/docs/code/
Ich verstehe nicht so ganz, was ich da finden soll.

Hier das mit den Variablen wäre ja schön und gut, aber warum funktioniert das hier nicht:

Code: Alles auswählen

include($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx);

// Session auslesen und Benutzer-Informationen laden
$user->session_begin();
$user->setup('mods/error_404_lang');
$auth->acl($user->data);

//Angabe der Userdatenvariable
$name = $user->data['user_id']
//Angezeigte Fehlermeldung
$template->assign_vars(array(
	'TEXT' => $user->lang['TEXT']
	'BEGRUESSUNG' => $user->lang['BEGRÜßUNG'],
	'SEITENNAME' =>	$user->lang['SEITENNAME']
	'USER'	=> $name
));
//nötige Variablen für Funktion
$beg = $user->lang['BEGRÜßUNG']
$text = $user->lang['TEXT']
//Funktion zum wahlweisen Anzeigen von Text für einen Gast oder User
if ($user->data['user_id'] != ANONYMOUS)
{
	print ($name.$beg)
}
else
{
	print ($text)
}
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Beitrag von Metzle »

jimmartens hat geschrieben:
Metzle hat geschrieben:schau mal in die Sourcecodedoku von phpBB3.
http://area51.phpbb.com/docs/code/
Ich verstehe nicht so ganz, was ich da finden soll.
Vordefinierte Variablen bspw. bzw Funktionen usw. ;)
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
jimmartens
Mitglied
Beiträge: 369
Registriert: 28.11.2008 20:04
Wohnort: Hamburg
Kontaktdaten:

Beitrag von jimmartens »

Habe eine entsprechende Formel gefunden, aber ich weiß nicht was sie bedeutet:

Code: Alles auswählen

string   get_username_string  (string $mode, int $user_id, string $username, [string $username_colour = ''], [string $guest_username = false], [string $custom_profile_url = false]) 
Muss ich diese Sache einfach eingeben und ich erhalte den Usernamen, oder muss ich noch etwas anderes machen?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

djchrisnet hat geschrieben:$user->data['username']
$user->data['user_id']
etc
Was ist jetzt genau das Problem, wenn ich mich einmischen darf?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
jimmartens
Mitglied
Beiträge: 369
Registriert: 28.11.2008 20:04
Wohnort: Hamburg
Kontaktdaten:

Beitrag von jimmartens »

Ich habe es z.B. so geschrieben:
$name = $user->data['username']
aber dann kommt immer das Problem, dass er das nicht akzeptiert. Weiß jemand Rat?

EDIT: Habe Problem gelöst, man darf in der php-Datei, keine if-Funktion, die Text anzeigt, verwenden, da dieser sonst über dem Header geschrieben wird. Um den Text nach User und Gast zu differenzieren muss man in der Template Datei folgendes vor den User Text schreiben:
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
Und danach natürlich <!-- ENDIF -->
Das gleiche mit dem Gast-Text nur, dass diesmal das davor kommt:
<!-- IF not S_USER_LOGGED_IN or S_IS_BOT -->
Wenn man das beachtet, zusätzlich zur Sprachdatei, sollte es kein Problem mehr sein eine Seite mit Userabghängigem Text zu schreiben.

Allerdings noch eine andere Frage: Wie kann ich bei dem eigenen Block php anschalten?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

http://wiki.phpbb.com kennst Du schon?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
djchrisnet
Mitglied
Beiträge: 1275
Registriert: 29.06.2007 15:52
Wohnort: Elmshorn
Kontaktdaten:

Beitrag von djchrisnet »

include($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx);

// Session auslesen und Benutzer-Informationen laden
$user->session_begin();
$user->setup('mods/error_404_lang');
$auth->acl($user->data);

//Angabe der Userdatenvariable
$name = $user->data['user_id'];
//Angezeigte Fehlermeldung
$template->assign_vars(array(
'TEXT' => $user->lang['TEXT'],
'BEGRUESSUNG' => $user->lang['BEGR&Uuml;&szlig;UNG'], //<<<<<<< verwende wo du nur kannst bitte keine &Uuml;&szlig; nutze eher ss und ue
'SEITENNAME' => $user->lang['SEITENNAME'],
'USER' => $name,
));
//nötige Variablen für Funktion
$beg = $user->lang['BEGR&Uuml;&szlig;UNG'];
$text = $user->lang['TEXT'];
//Funktion zum wahlweisen Anzeigen von Text für einen Gast oder User
if ($user->data['user_id'] != ANONYMOUS)
{
print ($name.$beg);
}
else
{
print ($text);
}
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“