Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Avatare für "Avatarlose"
#1
Guten Abend!
So langsam fuchse ich mich ja in die Technik von myBB ein und habe schon einiges hier im Forum gefunden (wofür ich wirklich echt mehr als dankbar bin!). Darunter habe ich eben auch diesen Thread gefunden. Die Änderung, die dort vorgeschlagen wurde, habe ich soweit in der functions_post.php erledigt und es funktionierte super. Da ich für mein geplantes Forum nun aber mehrere Themes erstellen möchte sollten sich auch da das Avatar für die Avatarlosen ändern. Ich habe vorher mit wbblite 1.0.2 gearbeitet, wo ich es durch eine kleine Pfadänderung in den entsprechenden Dateien in kurzer Zeit ändern konnte, in dem ich eben angebe, dass das Avatar in den unterschiedlichen Ordnern von den Themes gesucht werden soll. Habe ich mir also so einen Code rausgesucht, wie er z.B. auch beim Logo benutzt wird und dann entsprechend in der functions ausgetauscht:

Code:
if($post['avatar'] == "") {$post['avatar']="{$theme['gastava.png']}";}
(Wenn mehr als dieser Schnippsel gebraucht wird, bescheid geben!!)

Soo und da ich ein wenig verwöhnt bin, was so meine bisherige Forensoftware anbelangt, habe ich auch noch die Frage, ob man diesen Ava für angemeldete User und Gäste noch unterscheiden könnte, also dass jede Partei ein anderes erhält und, ob bei den Usern die Avatare noch in dem Profil und der Mitgliederliste gesteckt werden könnten. Ich habe schon ein wenig in den Dateien geguckt, finde mich aber noch nicht so ganz gut zurecht Sad

Liebe Grüße und ein Danke im Vorraus!
SCOTTISH.
Zitieren
#2
Dabei kannst Du mit den Gruppen-ID´s (GID) arbeiten. Unregistrierte User haben keine Gruppe und haben somit GID 0.

Für Gäste:

PHP-Code:
if($post['avatar'] == "" && {$post['usergroup']} == 0) {$post['avatar']="{$theme['gastava.png']}";} 

Jetzt ist die Frage, wie Du das für registrierte Mitglieder haben möchtest. Soll das bei allen Gruppen gemacht werden oder nur bei bestimmten.

Für alle Gruppen:

PHP-Code:
if($post['avatar'] == "" && {$post['usergroup']} > 0) {$post['avatar']="{$theme['gastava.png']}";} 

Für bestimmte Gruppen:

PHP-Code:
if($post['avatar'] == "" && {$post['usergroup']} == 1) {$post['avatar']="{$theme['gastava.png']}";} 

Dabei musst Du die GID anpassen.
Bitte die Suche u. die Doku nutzen.
______________________________

mfg Murphy
Zitieren
#3
Ich habe beides direkt mal an die Stelle gesetzt, die ich vorher geändert hatte, aber leider wird nur noch eine weiße Seite (selbst schon beim Betreten eines Forums) angezeigt - egal, ob ich beides in der functions_post habe oder jeweils nur eines.
Edit: Ich hatte die Version, in der es für alle Gruppen angezeigt wird, genommen.
Zitieren
#4
Kannst Du mal den aktuellen gesamten Code posten bitte.
Bitte die Suche u. die Doku nutzen.
______________________________

mfg Murphy
Zitieren
#5
Sicher! Ich habe noch ein paar Zeilen drüber und drunter mit eingefügt, wusste nicht, was du alles brauchst Wink

Code:
eval("\$post['onlinestatus'] = \"".$templates->get("postbit_away")."\";");
            }
            else
            {
                eval("\$post['onlinestatus'] = \"".$templates->get("postbit_offline")."\";");
            }
        }
if($post['avatar'] == "" && {$post['usergroup']} == 0) {$post['avatar']="{$theme['gastava.png']}";} if($post['avatar'] == "" && {$post['usergroup']} > 0) {$post['avatar']="{$theme['noavatar.png']}";}  
        if($post['avatar'] != "" && ($mybb->user['showavatars'] != 0 || !$mybb->user['uid']))
        {
            $post['avatar'] = htmlspecialchars_uni($post['avatar']);
            $avatar_dimensions = explode("|", $post['avatardimensions']);
            
            if($avatar_dimensions[0] && $avatar_dimensions[1])
            {
                list($max_width, $max_height) = explode("x", my_strtolower($mybb->settings['postmaxavatarsize']));
                 if($avatar_dimensions[0] > $max_width || $avatar_dimensions[1] > $max_height)
                {
                    require_once MYBB_ROOT."inc/functions_image.php";
                    $scaled_dimensions = scale_image($avatar_dimensions[0], $avatar_dimensions[1], $max_width, $max_height);
                    $avatar_width_height = "width=\"{$scaled_dimensions['width']}\" height=\"{$scaled_dimensions['height']}\"";
                }
                else
                {
                    $avatar_width_height = "width=\"{$avatar_dimensions[0]}\" height=\"{$avatar_dimensions[1]}\"";    
                }
            }
            
            eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar")."\";");
            $post['avatar_padding'] = "padding-right: 10px;";
        }
        else
        {
            $post['useravatar'] = "";
        }
Zitieren
#6
Ersetze:

PHP-Code:
{$post['usergroup']} 

mit:

PHP-Code:
$post['usergroup'
Bitte die Suche u. die Doku nutzen.
______________________________

mfg Murphy
Zitieren
#7
Das Forum sehe ich schon mal wieder, aber leider kein Avatar Sad
Zitieren
#8
Wo kommt denn $theme['gastava.png'] her?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
Naja, ich möchte ja in unterschiedlichen Themes unterschiedliche Avatare für die Avatarlosen angezeigt haben. Und so wie ich mir das in verschiedenen Templates erguckt habe, ist dieses $theme['...'] dafür verantwortlich, dass da der richtige Pfad gesucht wird. Oder habe ich das falsch verstanden? Kann natürlich sein. Bin ja noch Anfänger mmit myBB
Zitieren
#10
Dann musst du aber $theme['imgdir'] nehmen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren