DVZ Shoutbox | Panel z emotikonami (clickable smileys)

Założony przez Divir.

[Obrazek: pasek_emotki.png]


<< archiwum  - przenosi mnie do archiwum
<< Emotki – przenosi mnie do góry


Przecież możesz się zalogować jako ACP

http://mypcforum.cba.pl

<p class="right">
    <a href="{$mybb->settings['bburl']}/index.php?action=shoutbox_archive">&laquo; {$lang->dvz_sb_archivelink}</a>&nbsp;
    <a href="#" id="smilies_modal_open">&laquo; Emotki</a>
</p>

Jak to ma chodzić jak link "&laquo; Emotki" to nie powrót top tej samej href="#" 
Nie upubliczniaj kont z dostępem do ACP, to nie jest bezpieczne.

Masz to dodać do szablonu z shoutboxem, nie do index. Co do odsyłacza - jest to obsługiwane przez kod javascript.
Kodowanie, edycja i tworzenie styli, for, stron, poszczególnych elementów - polecane szczególnie dla osób, które nie potrafią sobie poradzić z problemami.
Ja już wiem, i to nie tak jak mówisz, ale spoko. :)
To jest jeszcze jeden myk. :)
(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)
<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ę
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
$onclick = " onclick=\"MyBBEditor.insertText(' $smilie_insert ');\"";

I zamieniamy go na
$onclick = " onclick=\"".$editor.".insertText(' $smilie_insert ');\"";
[attachment=10323]
gdzie to dokładnie dodać? w sensie, w którym miejscu w dvz_shoutbox.js dać ten kod "insertText: function (emotion) {
jQuery('#shoutbox input.text').val(jQuery('#shoutbox input.text').val() + emotion).focus();
}"
Wyszukaj i wklej nad // actions. Tak będzie ci najprościej.
Kodowanie, edycja i tworzenie styli, for, stron, poszczególnych elementów - polecane szczególnie dla osób, które nie potrafią sobie poradzić z problemami.
Dzięki, nie wiem czemu ale mi nie wyświetla wgl emotek sposobem @gloverek
Witam
Mam pewien problem
Próbowałem kod na otwieranie modal okna z emotkami dawać w różne miejsca i za każdym razem okno otwiera się na samym dolę ..
[Obrazek: Yl8r1CWMQQyCL5UzHqZm6A.png]
[Obrazek: K9M24kOyTpu9vDXjjI8Uzg.png]

Ma ktoś z Was pomysł jak to naprawić?
forum.omegaelite.pl

L: mvf_test
H: Test789

Pozdrawiam.
(16.02.2018, 18:32)Drifter napisał(a): Witam
Mam pewien problem
Próbowałem kod na otwieranie modal okna z emotkami dawać w różne miejsca i za każdym razem okno otwiera się na samym dolę ..
[Obrazek: Yl8r1CWMQQyCL5UzHqZm6A.png]
[Obrazek: K9M24kOyTpu9vDXjjI8Uzg.png]

Ma ktoś z Was pomysł jak to naprawić?
forum.omegaelite.pl

L: mvf_test
H: Test789

Pozdrawiam.
Spróbuj tego https://webboard.pl/thread-73063-post-31...#pid313228
Dzięki
Połowicznie pomogło teraz modal się wyświetla na środku ale. .. jest zbyt mały i nie ma buttonu aby go wyłączyć.
[Obrazek: db6fV1sYTheP-dOAwyYo3Q.png]
(16.02.2018, 19:42)Drifter napisał(a): Dzięki
Połowicznie pomogło teraz modal się wyświetla na środku ale. .. jest zbyt mały i nie ma buttonu aby go wyłączyć.
[Obrazek: db6fV1sYTheP-dOAwyYo3Q.png]

Bo o ile dobrze widzę, to w tym poradniku nie jest zawarty przycisk wyłączenia.
(17.02.2018, 14:57)inferno napisał(a):
(16.02.2018, 19:42)Drifter napisał(a): Dzięki
Połowicznie pomogło teraz modal się wyświetla na środku ale. .. jest zbyt mały i nie ma buttonu aby go wyłączyć.
[Obrazek: db6fV1sYTheP-dOAwyYo3Q.png]

Bo o ile dobrze widzę, to w tym poradniku nie jest zawarty przycisk wyłączenia.
Jest przycisk, zrobił to @gloverek 

(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)
<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ę
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
$onclick = " onclick=\"MyBBEditor.insertText(' $smilie_insert ');\"";

I zamieniamy go na
$onclick = " onclick=\"".$editor.".insertText(' $smilie_insert ');\"";
(21.04.2016, 19:09)astranaar napisał(a): Pobawiłem się trochę i udało mi się uzyskać coś takiego: http://scr.hu/9v5z/zvhqr
Oczywiście panel jest wysuwany :)

A oto kod:
Szablony globalne - dvz_shoutbox - head:
<a href="#" class="smiles_box"><b>Emotki</b></a>

Następnie pod {$panel}:
<div class="wrapper">        
<div class="smiles_preview">
<img src="{$theme['imgdir']}/smilies/smile.png" alt=":)" class="smilie_dvz clickable">
<img src="{$theme['imgdir']}/smilies/wink.png" alt=";)" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/cool.png" alt=":cool:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/biggrin.png" alt=":D" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/tongue.png" alt=":P" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/rolleyes.png" alt=":rolleyes:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/shy.png" alt=":shy:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/sad.png" alt=":sad:" class="smilie_dvz clickable">
           <img src="{$theme['imgdir']}/smilies/at.png" alt=":at:" class="smilie_dvz clickable">
           <img src="{$theme['imgdir']}/smilies/angel.png" alt=":angel:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/angry.png" alt=":angry:" class="smilie_dvz clickaable">
        <img src="{$theme['imgdir']}/smilies/blush.png" alt=":blush:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/confused.png" alt=":s" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/dodgy.png" alt=":dodgy:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/exclamation.png" alt=":exclamation:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/heart.png" alt=":heart:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/huh.png" alt=":huh:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/lightbulb.png" alt=":idea:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/sleepy.png" alt=":sleepy:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/undecided.png" alt=":-/" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/cry.png" alt=":cry:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/sick.png" alt=":sick:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/arrow.png" alt=":arrow:" class="smilie_dvz clickable">
        <img src="{$theme['imgdir']}/smilies/my.png" alt=":my:" class="smilie_dvz clickable">
</div>
</div>

i pod {$javascript}
<script>
   $('.smilie_dvz').click(function() {
       var smilie = $(this).attr("alt"),
           inputValue = $('#dvz_input').val();
       $('#dvz_input').val(inputValue + smilie);
   });
</script>

no i oczywiście css:
.smiles_preview:before,.smiles_preview:after {
   content:" ";
   display:table
}

.smiles_preview:after{
   clear:both
}

.smiles_preview {
   display: none;
background: rgb(29, 29, 29);
padding: 5px;
text-align: center;
}

oraz headerinclude zaraz po {$stylesheets}
<script type="text/javascript">
$(document).ready(function(){    
   $(".smiles_box").click(function () {  
        $(".smiles_preview").slideToggle('fast');
        return false;
   });
});
</script>

mam nadzieje, ze sie przyda ;)
A ja mam z tym problem ponieważ wpisują mi się po trzy ikonki :D
(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)
<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ę
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
$onclick = " onclick=\"MyBBEditor.insertText(' $smilie_insert ');\"";

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

Zrobiłem wszystko tak jak powyżej, ale niestety po kliknięciu da wybraną emotkę nie wstawia mi jej do tekstu.
Znalazłem rozwiązanie [Obrazek: biggrin.png]

Ten 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 wyżej a do bloku zmiennej var dvz_shotbox, kod poniżej:
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 [Obrazek: wink.png]



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

2 gości