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

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

Dodanie prefiksu do pluginu "Recent Threads On Index"

Konfiguracja  Założony przez  damian0507.

wersja skryptu MyBB: 1.8.6
adres forum: brak
na czym polega problem (screen, opis, komunikaty, nazwa i wersja wtyczki):

Mogłby ktoś pomóc w małej przeróbce skryptu? Chodzi o plugin [email=http://community.mybb.com/mods.php?action=view&pid=191]Recent Threads On Index[/email].
Chciałbym dodać przed nazwą tematu prefiksy w zależności czy by były.

Chciałbym by te posty w indexie z tego pluginu wyglądały najlepiej tak jak na widoku działu 
http://i.imgur.com/HppJNIH.jpg
pomoc czy dac Ci gotowy kod?

mybb posiada do tego funkcje

/inc/functions.php -> line 3455
Próbowałem na różne sposoby dodawać kod lecz wszystkie próby kończą się niepowodzeniem, nie znam za dobrze języka PHP i trochę się czuję jakbym po omacku błądził.
Jeżeli można prosiłbym o gotowy kod, może na jego podstawie sam zacznę kombinować.

http://i.imgur.com/SwJdNtn.jpg
ja Ci pokazałem jakiej funkcji masz użyć, użycie jej znajdziesz w forumdisplay.php

i co masz w tej linii 131?


gotowy kod to tylko gielda ogloszen
W tabeli z wątkami masz kolumnę o nazwie prefix, która zawiera id prefixa z tabeli threadprefixes. Funkcja o której mówi Supryk ( https://github.com/mybb/mybb/blob/featur....php#L3452 ) zwraca wszystkie prefixy, lub tylko wybrany (jeżeli podasz jego id).
Powinieneś użyć pierwszej opcji, czyli wywołanie funkcji bez argumentu
$prefixes = build_prefixes();
Teraz w $prefixex masz wszystkie prefixy dostępne na Twoim forum.
W pętli w miejscu gdzie chcesz użyć swojego prefixu używasz
$prefixes[$prefix]['displaystyle'];
Zamiast $prefix musisz wstawić wartość prefix pobranej z tabeli wątków.
Udało mi się samemu dojść do pożądanego skutku, dzięki wielkie za naprowadzenie mnie. :)

Gdyby ktoś potrzebował poniżej podaję kod:

[1]
Do pętli 
while($thread = $db->fetch_array($query))

dodać poniżej do listy:
$thread['threadprefix'] = $threadprefix = '';

[2]
Za komentarzem 
// Don't link to guest's profiles (they have no profile).

dodać instrukcję warunkową if
if($thread['prefix'] != 0)
        {
            $threadprefix = build_prefixes($thread['prefix']);
            if(!empty($threadprefix))
            {
                $thread['threadprefix'] = $threadprefix['displaystyle'].' ';
            }
        }

[3]
I teraz w tabelce by wyświetlało prefiks. Do
$new_template['recentthread_thread'] = '<tr>

dodać w dowolnym miejscu 
{$thread[\'threadprefix\']  }

I wynik takiego zabiegu:

[Obrazek: v8eG33P.jpg]

Temat można zamknąć :)



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

2 gości