Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.19 veröffentlicht (11.09.18)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Bestimmte Topllinks für bestimmte User
#1
Huhu,

ich hab in meine Toplinks einen Link zu meinem Chat eingebaut. Nun wollte ich, dass dieser Link nicht für Gäste und nicht für Benutzer mit einer Beitragszahl unter einem bestimmten Betrag sichtbar ist. Ich dachte, die einfachste Lösung wäre es, das über die Benutzergruppen und die Benutzertitel zu lösen und ein if-else im Header-Template einzufügen. Nur habe ich entweder die falschen Variablen benutzt oder sonstwas nicht bedacht. Die IDs selbst habe ich in der Datenbank überprüft, die sind korrekt. Plugin für PHP in den Templates ist aktiv und funktioniert.

Vielleicht findet einer von euch den Fehler?

PHP-Code:
<if $user['usergroup'] == || $user['usertitle'] == || $user['usertitle'] == 2 then>
 <
ul class="menu top_links">
{
$menu_portal}
{
$menu_search}
{
$menu_memberlist}
{
$menu_calendar}
<
li><a href="{$mybb->settings['bburl']}/misc.php?action=help" class="help">{$lang->toplinks_help}</a></li>
</
ul>
<else>
<
ul class="menu top_links">
{
$menu_portal}
{
$menu_search}
{
$menu_memberlist}
{
$menu_calendar}
<
li><a href="http://vitaler-hund-forum.de/chat/" target="_blank" class="chat">Chat</a></li>
<
li><a href="{$mybb->settings['bburl']}/misc.php?action=help" class="help">{$lang->toplinks_help}</a></li>
</
ul>
</if> 
Zitieren
#2
Einerseits gibt es keine Variable $user, meinst du vielleicht $mybb->user?
Und andererseits enthält $mybb->user['usertitle'] nur den eigenen Benutzertitel, falls überhaupt im Profil eingestellt. Sinnvoller wäre es wohl $mybb->user['postnum'] zu verwenden.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Wie, $user gibt es nicht? Ich hab mit Hilfe von hier für meine Memberlist ein if-else geschrieben, um bei bestimmten Usergruppen die Benutzertitel anzeigen zu lassen, bei anderen nicht. Das funzt auch und sieht so aus:
PHP-Code:
<if $user['usergroup'] == || $user['usergroup'] == || $user['usergroup'] == || $user['usergroup'] == 7 then

Ich dachte, darauf könnte ich für diesen neuen Zweck aufbauen. Und laut Datenbank sind usertitle die, die ich vorgegeben habe? Zumindest sind die dort und db_usertitle drin und mit genau dieser Nummer versehen.


Wenn es natürlich eine postnum gibt, ist das noch viel besser bzw. einfacher. Habs ausprobiert und es scheint zu funzen. Falls noch jemand was ähnliches sucht, so geht es jetzt:
PHP-Code:
<if $mybb->user['postnum'] <= 25 then

Für User mit 25 oder weniger Beiträgen ist der Link dann weg. Nur mit < statt <= funzt auch, also für User mit weniger als 25 Beiträgen.

Vielen Dank für die schnelle Hilfe!!
Zitieren
#4
(21.07.2016, 10:22)keineAhnung schrieb: Wie, $user gibt es nicht?
Im Template header ist $user standardmäßig nicht definiert. An anderen Stellen schon. Wink
(21.07.2016, 10:22)keineAhnung schrieb: Und laut Datenbank sind usertitle die, die ich vorgegeben habe? Zumindest sind die dort und db_usertitle drin und mit genau dieser Nummer versehen.
Das ist aber die Spalte "usertitle" im der Tabelle mybb_users.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Ach jetzt, danke, bin wohl leicht verwirrt dank Hitze und Gewitterwetter.^^
Ich bin nur froh, dass es funzt Big Grin.

Gibt es vll eine Möglichkeit, das auch nach Zeit zu begrenzen? Die mybb-Zeit ist ja auch irgendwie verankert, da müsste ich ja bspw 17-23 Uhr eingeben können?
Zitieren