Domyślny avatar się nie wyświetla

Błąd   Założony przez  Wojci3ch.

Witam

Mam problem z domyślnym avatarem użytkowników ponieważ jest błąd w jego wyświetlaniu. Sprawdziłem ścieżkę do domyślnego avatara i jest poprawna, domyślny obrazek również jest.

konto: test
hasło : test123

[Obrazek: 779_avatar_blad_tn.jpg]
Sprawdź czy wszystkie linki się zgadzają z tym:

(30.12.2008, 15:24)BlueMan napisał(a): Domyślny avatar dla nowo zarejestrowanych użytkowników

  1. Wybrany przez nas avatar wgrywamy do dowolnego katalogu na serwerze. Sugeruję, aby wgrać go do folderu w którym są inne avatary, tj. /uploads/avatars/
  2. Do tego avatar powinien być dostęp poprzez link: http://twojeForum.pl/images/avatars/gallery/plikAvatara.png (oczywiście podkreślone nazwy zamieniamy na prawidłowe nazwy dla naszego serwera oraz pliku avatara, np: http://www.blueforum.pl/images/avatars/g...rsonal.png )
  3. Wchodzimy do phpMyAdmin (lub innego narzędzia w którym możemy wykonywać zapytania SQL)
  4. Wybieramy bazę danych odpowiedzialną za przechowywanie danych forum w którym chcemy ustawić domyślny avatar użytkowników.
  5. Wykonujemy zapytanie:
    ALTER TABLE `mybb_users` CHANGE `avatar` `avatar` VARCHAR( 200 ) NOT NULL DEFAULT 'http://www.blueforum.pl/images/avatars/gallery/personal.png',
    CHANGE `avatartype` `avatartype` VARCHAR( 10 ) NOT NULL DEFAULT 'remote',
    CHANGE `avatardimensions` `avatardimensions` VARCHAR( 10 ) NOT NULL DEFAULT '128|128';
    zmieniając na prawidłową ścieżkę do avatara. Pamiętaj także o podaniu domyślnej wielkości avatara. W tym wypadku jest to 128x128. Jeśli Twój avatar jest innej wielkości to wprowadź prawidłowe proporcje.
  6. Gotowe.
    Teraz każdy nowo zarejestrowany użytkownik będzie mieć w swoim profilu domyślny avatar, który w każdym momencie będzie mógł zmienić na swój własny.


Zmiana domyślnego avatara u istniejących użytkowników
Jeśli chcemy ustawić domyślny avatar wszystkim osobom, które nie mają w ogóle avatara musimy wykonać takie zapytanie SQL
UPDATE `mybb_users` SET `avatar` = 'http://www.blueforum.pl/images/avatars/gallery/personal.png',
`avatartype` = '2',
`avatardimensions` = '128|128',
WHERE `avatar` = '' ;
zmieniając na prawidłową ścieżkę do avatara. Pamiętaj także o podaniu domyślnej wielkości avatara. W tym wypadku jest to 128x128. Jeśli Twój avatar jest innej wielkości to wprowadź prawidłowe proporcje.

Metoda ta działa "jednorazowo" - jeśli użytkownik usunie sobie avatar z profilu to nie będzie mu się nic wyświetlać. Czyli nie jest wymuszane na nikim, że jak nie chce mieć avatar to musi korzystać z "domyślnego avatara".



Jakieś uwagi, sugestie, komentarze?
Tutorial do innych skryptów: http://www.blueman.pl/internet/id803-dom...forum.html
Tylko jak sprawdzić czy linki są poprawne? Zrobić zapytanie tylko czy wtedy nie zostanie ono wykonane i nadpisane? 

Awatar nie wyświetla się jedynie na pasku powitalnym na górze, normalnie domyślny awatar po kliknięciu w użytkownika jest.
Może nie jestem ekspertem i mogę się mylić :P Ale z tego co patrzę to tam w ogóle nie ma ścieżki do pliku. Atrybut src jest, ale wartości czyli ścieżki do pliku już brak.
[Obrazek: YTfxOHs.png]
Słusznie zauważyłeś tylko pytanie czemu atrybut SRC jest pusty skoro avatar domyślny jest ustawiony i jest widoczny w profilu użytkownika.

Dodatkowo jak wgramy jakiś avatar to jest widoczny na tym pasku to tylko jest błąd z domyślnym.
Ponieważ tak zachowuje się ta zmienna, musisz podłączyć domyślny avatar w css - a w momencie gdy user ustawi swój - ten się nadpisze.

Rozwiązanie:
https://webboard.pl/thread-62896.html
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
Dziękuje za odpowiedź. Próbuje to zmienić lecz nie mogę sobie poradzić z klasami ponieważ teraz w header_welcomeblock_member mam taką starą linijkę

<div class="useroptions">
<
a href="{$mybb->settings['bburl']}/usercp.php?action=avatar"><img class="panelavatar" src="{$mybb->user['avatar']}style="vertical-align: top; margin-top: 5px;" src="" height="40" width="40"></a


Szablon się rozlatuje jak po podmienię linijkę na:


<div class="useravatar useravatar-bg">
   <div class="useravatar" style="background-image: url({$mybb->user['avatar']});"></div>
</
div

Nie wiem czy nie prościej będzie na statyczne podmienienie obrazka albo całkowite wywalenie go aby został sam panel użytkownika.
Szogi1910 napisał 26.09.2016, 14:51:
Kody html/css/php dodajemy w odpowiednich tagach
Nie musisz zmieniać całości, rozchodzi się tylko o ustawienie tła dla obszaru w którym wyświetla się avatar.

Do klasy .panelavatar dodaj po prostu:
background: url(images/default_avatar.png);
background-size: contain;
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
Dzięki przyniosło efekt ale jeszcze jest ikonka na awatarze o niewczytaniu wtyczki czy coś takiego.

[Obrazek: 250_avatar_blad1_tn.jpg]

P.S ta ikonka jest tylko w Firefoxie
Czyżby firefox? Atrybut 'alt' zastępuje zepsuty obrazek, ale w tym momencie blok będzie pusty i ze względu na ustawienia całego paska - trochę się posypie. Więc o ile nie chcesz przebudować po prostu swojego html na ładniejszy to skorzystaj z js.

Cofnij się do stanu jaki miałeś i dodaj js na tej zasadzie:

<a href="{$mybb->settings['bburl']}/usercp.php?action=avatar"><img class="panelavatar" src="{$mybb->user['avatar']}" style="vertical-align: top; margin-top: 5px;" src="" height="40" width="40" onerror="this.src='TUTAJ PEŁNA ŚCIEŻKA DO OBRAZKA'"/></a>

Tylko ścieżkę uzupełnij.
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
Ten js dodać w header_welcomeblock_member?
Tak. Tam gdzie wyświetla się avatar użytkownika.
Kodowanie, edycja i tworzenie styli, for, stron, poszczególnych elementów - polecane szczególnie dla osób, które nie potrafią sobie poradzić z problemami.
Dodałem skrypt js nie avatar się nie wyświetla.

<div class="useroptions">
<a href="{$mybb->settings['bburl']}/usercp.php?action=avatar"><img class="panelavatar" src="{$mybb->user['avatar']}" style="vertical-align: top; margin-top: 5px;" src="" height="40" width="40" onerror="this.src=www.farmcraft.pl/images/default_avatar.png"/></a>
Ścieżka do pliku powinna być w apostrofach. Zwróć uwagę na mój przykład.
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
Poprawiłem ale coś chyba nadal robię nie tak

<div class="useroptions">
<a href="{$mybb->settings['bburl']}/usercp.php?action=avatar"><img class="panelavatar" src="{$mybb->user['avatar']}" style="vertical-align: top; margin-top: 5px;" src="" height="40" width="40" onerror="this.src='www.farmcraft.pl/images/default_avatar.png' "/></a>



Użytkownicy przeglądający ten wątek:

1 gości