Najlepsza odpowiedź Yeoman , 01 kwietnia 2014 - 14:12
Ok zbadałem ten przypadek z braku zajęcia
thx.php
if(!$b) { $post['thanks'] = "<a class=\"thanks\" id=\"a{$post['pid']}\" onclick=\"javascript:return thx({$post['pid']});\" href=\"showthread.php?action=thank&tid={$post['tid']}&pid={$post['pid']}\">Podziękuj</a>"; } else if($mybb->settings['thx_del'] == "1") { $post['thanks'] = "<a class=\"removeThanks\" id=\"a{$post['pid']}\" onclick=\"javascript:return rthx({$post['pid']});\" href=\"showthread.php?action=remove_thank&tid={$post['tid']}&pid={$post['pid']}\">Nie dziękuj</a>"; }
Tutaj wywaliłem na dobre <img> i ustawiłem w linku treść, którą sprawdza się po odświeżeniu przykładowo.
Kolejną linijkę wywaliłem z xml'a (<image>)
$output = "<thankyou> <list><![CDATA[$list]]></list> <display>".($list ? "1" : "0")."</display> <del>{$mybb->settings['thx_del']}</del> </thankyou>"; echo $output;
Usunąłem to bo przecież tego nie chcesz mieć, a tylko CSS.
Teraz pokaże co zrobiłem żeby tekst się zmieniał. Każdorazowo po kliknięciu leci nowe żądanie a więc przypisałem to tak:
thx.js
function thx_action(response) { lin=thx_common(response) if(lin!=null) { lin.onclick= new Function("","return rthx("+pid+");"); lin.href='showthread.php?action=remove_thank&pid='+pid; lin.textContent = "Nie dziękuj"; } } function rthx_action(response) { lin=thx_common(response) if (lin!=null) { lin.onclick = new Function("", "return thx(" + pid + ");"); lin.href = 'showthread.php?action=thank&pid=' + pid; lin.textContent = "Podziękuj"; } }
Dodałem do nich lin.textContent i jeśli klikniesz w link to wywołasz funkcję która ustawi tekst odpowiedni dla akcji.
Z tego pliku poleciało także to:
img = document.getElementById('i' + pid); img.src = xml.getElementsByTagName('image').item(0).firstChild.data;
Powinno zadziałać. U mnie błędów nie ma.
Teraz tylko dodaj klasę do <a> i będziesz mógł stylowac swój button
Przejdź do postu