Hallo Zusammen
Ich habe mal eine kleine Frage, die mich im Moment aber ziemlich zur Verzeweifelung bringt:
Ich möchte in unserem Forum gerne einen externen Link einbauen bei dem per GET der Username des Mitgliedes Übergeben werden soll. (Der Name soll dann der Nick in einem Chat werden; aber das nur am Rande.)
Ich habe auch schon einen Link im richtigen Template erstellt. Allerdings hab ich auch nach einignen Stunden suchen und graben auf den div. MyBB-Seiten keine Doku zum Template-System gefunden die mir sagt welche Variable ich dafür einbinden muss ;-)
Kann mir da jemand auf die Sprünge helfen?
Ich setze die myBB 1.2.9 ein. Das Theme ist
MyBB Default.
Danke im Vorraus!
Grüße,
Chris
Was für eine Variable meinst du? Meinst du den Namen des Users?
Das wäre dann
Code:
{$mybb->user['username']}
genau das hab ich gesucht
eingebaut, getestet und klappt
danke!
Hallo zusammen,
ich kram mal so einen uralten Thread raus, aber er betrifft genau meine Frage und bedarf wahrscheinlich nur einer kleinen Änderung:
Und zwar habe ich meine Mitgliederliste mit einer extra Spalte und einem externen Link erweitert. Dieser Link soll auf ein Profil dieser Seite aufrufen.
Ich habe folgendes eingefügt:
<a href="https://www.domainname.com/charts.php?a={$mybb->user['username']}">Link zum Profil von {$mybb->user['username']}</a>
Soweit so gut, das klappt ja soweit.
Jetzt ist es aber so, daß sich der Link immer mit dem User ergänzt, der gerade eingeloggt ist. Und zwar bei allen Mitgliedern. Wie muß ich denn die Variable ändern, so daß sich der Link so ändert, daß man bei USER1 auch das externe Profil von USER1 aufruft und nicht sein eigenes ?
Die Namen der User in der Mitgliederliste bekommst du mit {$user['username']}.
Hallo Waldo, so hatte ich das auch schon probiert, das war auch mein erster Gedanke, daß ich das so einfügen muß.
Wenn ich aber den Link zu
<a href="https://www.domainname.com/charts.php?a={$user['username']}" target="_blank">Link zum Profil von {$mybb->user['username']}</a></td>
ändere, wird bei den Admins im FF nur
https://www.domainname.com/charts.php?a=<span style=
aufgerufen. Und diese Seite gibt es halt nicht.
Bei allen anderen funktioniert es.
Ah, ja stimmt, $user['username'] wird bereits in der Datei memberlist.php formatiert.
Das heißt, wenn ein Benutzernamenstil für die Gruppe festgelegt ist, dann bekommst du so etwas mit <span style...
Für den reinen Namen müsstest du dann wohl entweder die memberlist.php bearbeiten oder den Namen über ein Plugin unter Verwendung des Hooks "memberlist_user" herausziehen.
Ok, jetzt nicht lachen: Was ist denn ein "Hook" ?
Ich habe zwar schon mehrfach danach im Forum gesucht und es gibt auch einige Suchergebnisse dazu, aber wie die funktionieren bzw. wie ich die anwende, da bin ich aus den gefundenen Beiträgen noch nicht so richtig schlau geworden.
Wenn das zu kompliziert ist, dann schaue ich lieber, wo ich die memberlist.php dementsprechend ändern muß.
Oder bekomme ich einen kleinen Wink mit dem berühmten Zaunpfahl, wo ich was ändern müßte ?
Wenn es dir nichts ausmacht, eine MyBB Datei zu ändern (da du sie dann bei jedem Update erneut ändern musst), kannst du ja mal Folgendes versuchen:
Suche in der Datei memberlist.php (~Zeile 330) nach:
PHP-Code:
$user = $plugins->run_hooks("memberlist_user", $user);
und füge direkt darunter ein:
PHP-Code:
$user['linkname'] = htmlspecialchars_uni($user['username']);
Dann kannst du {$user['linkname']} in deinem Link verwenden.
Öffne die memberlist.php und Suche nach
PHP-Code:
$user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']);
ersetzen mit
PHP-Code:
$username = htmlspecialchars_uni($user['username']);
$user['username'] = format_name($username, $user['usergroup'], $user['displaygroup']);
Nun kannst Du
in deinem Template verwenden für die Ausgabe eines unforamtieren Benutzernamens.