Webboard

Pełna wersja: DVZ_Shotbox emotki problem z dodawaniem
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Adres forum:
[https://allaboutit.pl]


Wersja silnika:
[1.8.21]


Opis problemu:
[Cześć, dodałem emotki do swojego sb, fajnie się wyświetlają, ale nie mogę ich dodać kliknięciem do tekstu. Wykorzystałem sposób opisany poniżej: 


(26.04.2016, 22:48)gloverek napisał(a): [ -> ]Postaram się skrócić poradnik do kilku linii, w którym można wykorzystać funkcję MyBB odnośnie wyświetlanych emotek wraz z akcją onclick.

HTML
Dodajemy kod HTML, który wywoła funkcję modala emotek wbudowaną w MyBB (najlepiej bezpośrednio do szablonu dvz_shoutbox)
Kod:
<a href="javascript:MyBB.popupWindow('/misc.php?action=smilies&amp;popup=true&amp;editor=dvz_shoutbox&amp;modal=1')">Okno z emotami</a>
Javascript
Edytujemy plik jscripts/dvz_shoutbox.js i do obiektu dvz_shoutbox dodajemy nową funkcję
Kod:
insertText: function (emotion) {
 jQuery('#shoutbox input.text').val(jQuery('#shoutbox input.text').val() + emotion).focus();
    }
To w sumie byłoby wszystko, ale funkcja smilies w skrypcie MyBB pomija zmienną editor(będzie poprawione wraz z nową wersją MyBB 1.8.8)
Wczytujemy do notepad++ plik misc.php i wyszukujemy w nim fragmentu kodu
Kod:
$onclick = " onclick=\"MyBBEditor.insertText(' $smilie_insert ');\"";

I zamieniamy go na
Kod:
$onclick = " onclick=\"".$editor.".insertText(' $smilie_insert ');\"";
[attachment=10323]


Natomiast po wklejeniu kodu :


Kod:
insertText: function (emotion) {
jQuery('#shoutbox input.text').val(jQuery('#shoutbox input.text').val() + emotion).focus();
   }


Nie da się pisać na sb i ikonki dalej się nie wklejają, da się to jakoś ogarnąć? 

Dzięki z góry ;)]

Konto testowe:

Login: Testowe3
Hasło: haslo123
Znalazłem rozwiązanie :D

Ten kod:
Kod:
insertText: function (emotion) {
jQuery('#shoutbox input.text').val(jQuery('#shoutbox input.text').val() + emotion).focus();
   }

Trzeba wkleić go w pliku dvz_shoutbox.js nie nad //action jak radzono tutaj Link a do bloku zmiennej var dvz_shotbox, kod poniżej:
Kod:
var dvz_shoutbox = {

//...

insertText: function(text) {
jQuery('#shoutbox input.text').val(jQuery('#shoutbox input.text').val() + text).focus();
},

};

Wszystko działa jak należy, może komuś się to przyda ;)