Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Zmiana wyglądu reputacji w profilu

Założony przez  musicpower.

wersja skryptu MyBB: 1.8.6
adres forum: localhost
na czym polega problem (screen, opis, komunikaty, nazwa stylu/theme/szablonu): 
Witam
Na początku dodam, że nie wiem czy dodaje w dobrym dziale.
Moje pytanie brzmi, czy można zduplikować zmienną "{$reputation}", jest mi to potrzebne, żeby zrobić oddzielną zmienna dla podglądu wątku i oddzielną dla profilu wraz ze stylami. Aktualne wygląda okropnie i dlatego jestem do tego zmuszony. Do tematu dołączam SS widoku profilu i tematu.
Jak widać na screen'ach w podglądzie profilu są 2 obramowania, z czego te zielone obramowanie nie zmienia swojego koloru, a w podglądzie wątku jest wszystko ok.
Jeśli jest to możliwe prosze o nakierowanie i pomoc
Pozdrawiam


Załączone pliki Miniatury
   
Obrazki
   
W postbit_reputation użyj {$post['userreputation']}. Zmienna zwraca tylko cyfrę reputacji, dopisz sobie co tam chcesz przed nią.
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
Dobra jeden problem z głowy, pozostaje tylko podgląd profilu. Nadal potrzebny jest oddzielny styl w css by zielona ramka zmieniała swoje tło w zależności od wartosci reputacji.
Ogólnie warunkowanie to bardziej kwestia PHP niż CSS'a, ale damy radę się tutaj obejść z wykorzystaniem już gotowych zmiennych zamiast pisaniem nowego kodu.

Opcja 1)
Z jednej strony bardziej pożądana, bo wykorzystuje obecne klasy utworzone do formatowania reputacji w zależności od wartości. Z drugiej strony, nie jestem pewien w ilu miejscach MyBB korzysta z tego szablonu, a nie wszędzie będzie to wyglądało ładnie.

Skoro w postbicie wykorzystałeś już czystą zmienną co zwraca tylko wartość, szablon postbit_reputation_formattedpozostaje dla Ciebie bez znaczenia (względem postbitu). Zrób go w taki sposób:
<span class="{$reputation_class}">{$reputation}</span>
A w CSS dla .reputation_positive, .reputation_neutral, .reputation_negative utwórz taki CSS jak obecnie tworzy zielone tło pod cyfra reputacji w profilu, tylko z różnym tłem.

Opcja 2)
Moim zdaniem lepsza, mimo, że trochę na przełaj.
Olej zmienną {$reputation}.  Zamiast tego odwołaj się do źródła które zwróci czystą wartość.
Taki kod wrzuć w member_profile tam gdzie wyświetla się reputacja na zielonym prostokącie.
<span class="rep_prof rep_prof{$memprofile['reputation']}">{$memprofile['reputation']}</span>
Następnie w CSS dodaj dwie klasy - dla reputacji pozytywnej i neutralnej. Negatywna nie jestem pewien jak się zachowa, a nie chce mi się testować.
Kolejność jest istotna, musi być identyczna jak w kodzie wpisanym wyżej.
// Dla reputacji pozytywnej
.rep_prof {

}
// Dla reputacji neutralnej
.rep_prof0 {

}
Znowu, analogicznie utwórz kod css dla tych klas. Cały, prostokącik z zielonym tłem i z szarym, formatowanie tekstu etc. Myślę, że sobie poradzisz przy odrobinie chęci :)

Oba sposoby działają, świeżo testowane :)
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
Niestety w tym co podałeś nie działa dla wartości ujemnej ale już rozwiązałem problem. Dla osób które tego będą potrzebowały to:

wchodzimy w Szablony stylu -> Opis Posta -> postbit_reputation_formatted i przywracamy go do oryginału (u mnie bylo to konieczne)

teraz przechodzimy do Podgląd profilu -> member_profile_reputation tutaj wszystko podmieniamy na {$reputation}

następnym krokiem będzie podmienienie w member_profile {$memprofile['reputation']} na {$reputation}

i teraz najważniejsze:
wchodzimy do Style -> nasz styl -> Nowy arkusz CSS -> nazwa obojętna, Dołączane do wybranych plików -> Dodaj i tutaj ustawiamy do member.php a za zawartość wstawiamy Kod


.reputation_positive {
}

.reputation_neutral {
}

.reputation_negative {
}

przykład z mojego css jest
.reputation_negative {
background: #b82929 url(images/snapshot/highlight_faint.png) repeat-x 0 0;
padding: 10px;
text-align: center;
font-size: 15px;
display: block;
color: #fff;
margin-bottom: 10px;
}



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

2 gości