Adres forum:
https://demolka.net/index.php
Wersja silnika:
1.8.24
Opis problemu:
Chciałbym aby przy 1 nieprzeczytanej wiadomości oraz powyżej zmieniało kolor czcionki informacji o prywatnych wiadomościach:
0 nieprzeczytanych wiadomości:
[
attachment=15087]
1 lub więcej:
[
attachment=15088]
Z MyAlerts to nie problem, bo już było w pluginie, tak samo z pluginem View Unread Posts. Ale Prywatne wiadomości mają tylko:
header_welcomeblock_member_pms
Kod:
<li><a href="{$mybb->settings['bburl']}/private.php"><i class='fas fa-envelope'></i> {$lang->welcome_pms} <span class="nav">{$lang->welcome_pms_usage}</span></a> </li>
Hej, najprościej wydaje mi się będzie to zrobić za pomocą JS. Tj. wiedząc, że zmienna
$lang->welcome_pms_usage przechowuje liczbę wiadomości nieprzeczytanych możemy ją zapisać do zmiennej w JS, sprawdzić, czy jest większa od 0 (są nieprzeczytane wiadomości) i wtedy nadać kolor danej klasie.
Przykładowo mój domyślny
header_welcomeblock_member_pms może wyglądać tak:
Kod:
<li class="pms"><a href="{$mybb->settings['bburl']}/private.php" class="pms">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage}</li>
<script>
const pmsCount = $lang->welcome_pms_usage;
if (pmsCount>0) {
$('.pms').css('color','orange');
}
</script>
Czyli nadaję klasę
pms dla całego
li (kolor ilości wiadomości - cyfry) oraz dla
a (tekst
Prywatne wiadomości) a pod spodem dodaję skrypt, który obsłuży zmianę koloru.
P.S.
Najnowsza wersja MyBB to 1.8.29
[
attachment=15090]
[
attachment=15091]
Dzięki wielkie, działa!
Co prawda ciut zmieniony, ale najważniejsze, że poznałem - jak to zrobić.
Kod:
<li class="pms"><a href="{$mybb->settings['bburl']}/private.php" class="pms"><span class="pm2">{$lang->welcome_pms}</span></a> (<span class="pm">{$lang->welcome_pms_usage}</span>)</li>
<script>
const pmsCount = $lang->welcome_pms_usage;
if (pmsCount>0) {
$('.pm').css('color','orange');
$('.pm2').css('color','orange');
}
</script>
[
attachment=15094]
[
attachment=15093]
(24.11.2021, 18:24)Poftorek napisał(a): [ -> ]P.S.
Najnowsza wersja MyBB to 1.8.29 
Udało mi się zaktualizować na wersję 1.8.26... Wersja 27 ma pliki, które zmieniałem rok temu pod kątem stylu i najgorsze, że nie pamiętam co tam zmieniałem... Jeśli zaktualizuje po kolei, aż do 29 to zapewne rozwalę jakąś część swojej pracy, a nie było łatwo, gdyż jest to styl robiony pierwszy raz i w wolnym czasie, co naprawdę zajęło mi mnóstwo czasu i nerwów.
(25.11.2021, 21:29)carrx napisał(a): [ -> ]Dzięki wielkie, działa!
Co prawda ciut zmieniony, ale najważniejsze, że poznałem - jak to zrobić.
Kod:
<li class="pms"><a href="{$mybb->settings['bburl']}/private.php" class="pms"><span class="pm2">{$lang->welcome_pms}</span></a> (<span class="pm">{$lang->welcome_pms_usage}</span>)</li>
<script>
const pmsCount = $lang->welcome_pms_usage;
if (pmsCount>0) {
$('.pm').css('color','orange');
$('.pm2').css('color','orange');
}
</script>
[attachment=15094]
[attachment=15093]
(24.11.2021, 18:24)Poftorek napisał(a): [ -> ]P.S.
Najnowsza wersja MyBB to 1.8.29 
Udało mi się zaktualizować na wersję 1.8.26... Wersja 27 ma pliki, które zmieniałem rok temu pod kątem stylu i najgorsze, że nie pamiętam co tam zmieniałem... Jeśli zaktualizuje po kolei, aż do 29 to zapewne rozwalę jakąś część swojej pracy, a nie było łatwo, gdyż jest to styl robiony pierwszy raz i w wolnym czasie, co naprawdę zajęło mi mnóstwo czasu i nerwów.
Zawsze możesz porównać następne wersje tego pliku (tu 1.8.27) z oryginalnym plikiem ze swojej wersji (tu 1.8.26) i w odpowiednich miejscach w swoim pliku (tu 1.8.26) pododawać lub pousuwać kod. Czyli jakby ręcznie zaktualizować ten plik.