Skocz do zawartości

Zdjęcie
* * * * * 1 głosy

kolejny raz thanks 3.9.1


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


23 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
Yeoman

    Stary wyjadacz

  • 358 postów
    • Czas spędzony online: 6d 19h 43m 48s
169
Znakomita!
  • LocationKatowice

Napisano 03 kwietnia 2014 - 22:57

#21

W pliku PHP pozmieniaj pozycje:

Nie dziękuj <i class=\"fa fa-minus\"></i>
Podziękuj <i class=\"fa fa-plus\"></i> 

na:

<i class=\"fa fa-minus\"></i> Nie dziękuj
<i class=\"fa fa-minus\"></i> Podziękuj 

W pliku JS zamiast:

lin.appendChild(icon); 

zmień na:

lin.insertBefore(icon, lin.firstChild);

Oczywiście w dwóch funkcjach -  thx_action, rthx_action i powinno śmigać pięknie :P


  • 2

2ed58r7.png


nxx

    Nowy użytkownik

  • 25 postów
    • :
0
Neutralna

Napisano 04 kwietnia 2014 - 22:49

#22

No i teraz to jest to! Tem uznaję za wyczerpany. Dziękuję Wam. 


  • 0

nxx

    Nowy użytkownik

  • 25 postów
    • :
0
Neutralna

Napisano 12 maja 2014 - 21:52

#23

Pozwolę sobie go odnowić, macie pomysł, jak zrobić, by zamiast tego i class (font avesome) była zwykła ikonka (obrazeK)?


  • 0

Yeoman

    Stary wyjadacz

  • 358 postów
    • Czas spędzony online: 6d 19h 43m 48s
169
Znakomita!
  • LocationKatowice

Napisano 13 maja 2014 - 16:49

#24

zmieniasz nazwe klasy na jaką chcesz i dajesz jej background + width + height ? :)


  • 1

2ed58r7.png






Podone tematy Collapse

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych