Webboard

Pełna wersja: Edycja przycisku podziękuj - plugin Thanks
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
wersja skryptu MyBB:1.8.3
adres forum:http://odjechani.com.pl
Poszukuję sposobu na edycję przycisku bez konieczności edycji pluginu, aby działał poprawnie.

Tak więc to jest fragment kodu pluginy, który zmieniłem, bo jakoś nie mogę innymi sposobami zmienić wyglądu przycisku podziękuj na stronie.

Kod:
        if(!$b)
        {
            $post['thanks'] = "<span class=\"pbbutton\"><a data-thx=\"{$post['pid']}\" href=\"showthread.php?action=thank&tid={$post['tid']}&pid={$post['pid']}\"><i class=\"fa fa-thumbs-up\"> </i> $lang->thx_main</a></span>";
        }
        else if($mybb->settings['thx_del'] == "1")
        {
            $post['thanks'] = "<span class=\"pbbutton\"><a data-thx=\"{$post['pid']}\" href=\"showthread.php?action=remove_thank&tid={$post['tid']}&pid={$post['pid']}\"><i class=\"fa fa-thumbs-down\"> </i> $lang->thx_remove</a></span>";
        }
        else

Tak wyglądał pierwotnie:

Kod:
        if(!$b)
        {
            $post['thanks'] = "<a class=\"thx_btn_add\" data-thx=\"{$post['pid']}\" href=\"showthread.php?action=thank&tid={$post['tid']}&pid={$post['pid']}\"><span>$lang->thx_main</span></a>";
        }
        else if($mybb->settings['thx_del'] == "1")
        {
            $post['thanks'] = "<a class=\"thx_btn_remove\" data-thx=\"{$post['pid']}\" href=\"showthread.php?action=remove_thank&tid={$post['tid']}&pid={$post['pid']}\"><span>$lang->thx_remove</span></a>";
        }
        else

Plugin ma w folderze "cache" umieszczony arkusz stylów css, ale jego edycja nic nie zmienia, co bym tam nie ruszył, to nie ma to wpływu na wygląd buttona.

Problem jest taki, że wciskając przycisk podziękuj strona się odświeża, a podziękowanie powinno być dodane od razu, bez odświeżenia. Wiem, że za to musi odpowiadać najprawdopodobniej klasa, którą w pliku php zmieniłem przez co nie działa jak należy, ale tylko tak potrafię nadać przyciskowi właściwą formę, bo edycja wspomnianego wcześniej arkusza nic nie zmienia, ładuje się tak jakby pierwotny, chyba z chyba z cache.

Aby to przetestować, możecie użyć konta - Login:Mybboard.pl Hasło:mybboard

Jakieś pomysły?
W zasadzie to nie przyjmujesz zdarzenia onclick;
Kod PHP:
        if(!$b)
        {
            
$post['thanks'] = "<span class=\"pbbutton\"><a onclick=\"javascript:return thx({$post['pid']});\" id=\"a{$post['pid']}\"  href=\"showthread.php?action=thank&tid={$post['tid']}&pid={$post['pid']}\"><i class=\"fa fa-thumbs-up\"> </i> {$lang->thx_remove}</a></span>";
        }
        else if(
$mybb->settings['thx_del'] == "1")
        {
            
$post['thanks'] = "<span class=\"pbbutton\"><a onclick=\"javascript:return thx({$post['pid']});\" id=\"a{$post['pid']}\"  href=\"showthread.php?action=remove_thank&tid={$post['tid']}&pid={$post['pid']}\"><i class=\"fa fa-thumbs-down\"> </i> {$lang->thx_remove}</a></span>";
        }
        else 
Dziękuję za odpowiedź, ono nie jest potrzebne, plugin działa bez tego, problem jest taki, że po zmianie klasy z "thx_btn_add" i "...remove" na "pbbutton" ten problem zaczyna występować. Wstawianie Onclick sypie plugin, tzn nie tyle dalej się odświeża, co dodatkowo pojawiają się inne problemy.

Dobra problem rozwiązany, zastosowałem obie metody jednocześnie, tzn klasy. Musiałem być nieźle wyniszczony jak to wcześniej robiłem i nawet nie pomyślałem.

Kod:
        if(!$b)
        {
            $post['thanks'] = "<span class=\"pbbutton\"><a class=\"thx_btn_add\" data-thx=\"{$post['pid']}\" href=\"showthread.php?action=thank&tid={$post['tid']}&pid={$post['pid']}\"><i class=\"fa fa-thumbs-up\"> </i>$lang->thx_main</a></span>";
        }
        else if($mybb->settings['thx_del'] == "1")
        {
            $post['thanks'] = "<span class=\"pbbutton\"><a class=\"thx_btn_remove\" data-thx=\"{$post['pid']}\" href=\"showthread.php?action=remove_thank&tid={$post['tid']}&pid={$post['pid']}\"><i class=\"fa fa-thumbs-down\"> </i>$lang->thx_remove</a></span>";
        }
        else

Niestety i tak jestem zmuszony pozostać przy pierwszej metodzie z odświeżaniem postu, bo plugin okazuje się być wadliwy nawet w oryginale. Gdy wciska się kilka przycisków podziękuj na stronie, to zaczynają szaleć.