Webboard

Pełna wersja: Avatar użytkownika w "Ostatnich tematach"
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
wersja skryptu MyBB: 1.8.3 PL

adres forum: http://fresh-skill.com

na czym polega problem (screen, opis, komunikaty, nazwa i wersja wtyczki):

Chciał bym wyświetlić avatar użytkownika w tabelce "Najnowsze tematy".


Mam plugin który pokazuje przy ostatnich postach: http://community.mybb.com/mods.php?action=view&pid=74

Razem ze stylem 'revolution' był szablon 'portal_latestthreads_thread' którego treść wygląda tak:

Kod PHP:
<tr class="latestthreads_portal">
  
<
td width="230px" class="trow1">
<
strong><a href="{$mybb->settings['bburl']}/{$thread['threadlink']}">{$thread['subject']}</a></strong>
<
span class="smalltext"><br />{$lang->by} {$lastposterlink}<br /> {$lastpostdate}   

  <
br /> <div class="border"></div>
</
span>
</
td>
</
tr

Jak dodać w tym szablonie avatar? A może trzeba edytować coś innego?

Z góry dzięki za pomoc.
Jeśli nie boisz się edycji w plikach, to zrób to w ten sposób.
Otwórz portal.php, znajdź:
Kod:
SELECT t.tid, t.fid, t.uid, t.lastpost, t.lastposteruid, t.lastposter, t.subject, t.replies, t.views, u.username
zamień na
Kod:
SELECT t.tid, t.fid, t.uid, t.lastpost, t.lastposteruid, t.lastposter, t.subject, t.replies, t.views, u.username, u.avatar

Następnie w szablonie dodaj w którymś miejscu
Kod:
<img src="{$thread['avatar']}" />
Dzięki, działa.

Jest tylko jeden problem, użytkownicy którzy nie ustawili sobie swojego avatara mają 'default_avatar', który niestety nie wyświetla się w tej tabelce "Najnowsze tematy".
W MyBB 1.8 została dodana funkcja format_avatar() (Destroy666 wskazał), z niej wynika, że jeśli nie ma avatara - wyświetla domyślny, zmienną przepuść przez tą funkcję.


//Edit - poprawiam, błąd zrobiłem w zapisie BBCode.
Pewnie było by ok, gdybym wiedział jak to zrobić :)
Ja bym dodał jeszcze do zapytania wymiary avatara, całość:
Kod:
SELECT t.tid, t.fid, t.uid, t.lastpost, t.lastposteruid, t.lastposter, t.subject, t.replies, t.views, u.username, u.avatar, u.avatardimensions

No i teraz, zaraz po rozpoczęciu pętli while - wykorzystajmy to, czyli jak masz:
Kod PHP:
while($thread $db->fetch_array($query))
    { 
To po klamerce (od nowej linijki, dla estetyczności) dodaj:
Kod PHP:
$avatar_portal format_avatar(htmlspecialchars_uni($thread['avatar']), $thread['avatardimensions']); 

I to chyba tyle w pliku, teraz przejdź do szablonu i zamiast poprzedniego kodu (związanego z avatarem) dodaj:
Kod:
<img src="{$avatar_portal['image']}" />

Mam nadzieję, że będzie wyświetlać.
Niestety, nie działa, nie wyświetla żadnych avatarów. Rozmiar mi jest niepotrzebny, wolę w css to ustawiać.
(30.12.2014, 12:34)psilocybe5 napisał(a): [ -> ]Niestety, nie działa, nie wyświetla żadnych avatarów. Rozmiar mi jest niepotrzebny, wolę w css to ustawiać.

Przed chwilą sprawdziłem to, co dałem w poprzednim poście i... działa. Jakieś szczegóły?
Najmocniej przepraszam i zwracam honor. Działa jak chciałem, zapomniałem tag img zamknąć poprzednio ;)

Dzięki. +

Problem rozwiązany.