Seite 1 von 2

Usernamen auslesen (phpBB3)

Verfasst: 12.12.2008 14:46
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.

Verfasst: 12.12.2008 16:31
von djchrisnet
$user->data['username']
$user->data['user_id']
etc

Verfasst: 12.12.2008 16:40
von Metzle
Hallo,

zu deiner Umfrage:

schau mal in die Sourcecodedoku von phpBB3.

http://area51.phpbb.com/docs/code/

Verfasst: 12.12.2008 16:56
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)
}

Verfasst: 12.12.2008 17:28
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. ;)

Verfasst: 12.12.2008 17:40
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?

Verfasst: 12.12.2008 17:49
von Miriam
djchrisnet hat geschrieben:$user->data['username']
$user->data['user_id']
etc
Was ist jetzt genau das Problem, wenn ich mich einmischen darf?

Verfasst: 12.12.2008 17:57
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?

Verfasst: 12.12.2008 23:17
von Miriam
http://wiki.phpbb.com kennst Du schon?

Verfasst: 13.12.2008 00:35
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);
}