Nie jesteś zalogowany na forum.
Strony: 1
Witam.
Wzorując się na "skrzyne krzyku" z phpBB, postanowiłem urozmaicić trochę chat z puna. Nie jest to coś wielkiego, ale ułatwia pisanie. A mianowicie, mam na myśli znak "@" przed nickiem użytkownika, po którego kliknięciu w polu, w którym piszemy wiadomość wyświetla się "@NickUsera".
Na początek musimy lekko zmodyfikować formę wyświetlania wiadomości (Administracja--->ChatBox--->Wyświetlanie wiadomości).
Tag:
<pun_username>
Zamieniamy na:
<div class="username"><pun_username></div>
I przed powyższą linijką wstawiamy:
<div class="malpa" style="display: inline;">@ </div>
Kolejnym krokiem jest dodanie biblioteki jQuery do forum:
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
A następnie do stopki/ogłoszenia wstawiamy ten oto kod:
<script>
jQuery(function(){
jQuery(".malpa").click(function(){
var nick = jQuery(".malpa").next().html();
var poleval = jQuery("input[id='req_message']").val();
jQuery("input[id='req_message']").val(poleval + "[html]@" + nick + "[/html]" + " ");
});
})
</script>
Na koniec włączamy możliwość korzystania z HTML w postach dla wszystkich grup (Administracja--->Pozwolenia HTML)
Gotowe
Ostatnio edytowany przez QxV (2013-02-22 14:35:48)
Offline
Mógłbyś wspomnieć o dodaniu biblioteki jQuery przed kodem. ;p Bo pierwszy lepszy user może o tym nie wiedzieć.
Modyfikacja bardzo dobra, sam kiedyś chciałem zrobić coś takiego, ale nie umiem aż tak dobrze kodować.
Offline
Faktycznie, zapomniałem o tym ^ ^ Dzięki.
Offline
Fajnie by było, gdyby się dało zrobić to bez tagu [html], bez czyli samo @Nick.
Jest taka możliwość w ogóle?
Offline
Możliwość jest, ale miałem z tym problem, więc zdecydowałem się użyć jednak tagu html. Po pobraniu wartości tekstowej loginu użytkownika, pokazywał się on w polu tyle razy, ile pojawił się na chacie. Zdaje mi się, że wiem jak to naprawić, więc niedługo wstawię nowy kod,
Offline
Może tak:
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('.name').click(function() {
var nick_wklej=jQuery(this).children().html();
var poleval = jQuery("input[id='req_message']").val();
jQuery("input[id='req_message']").val(poleval + "@" + nick_wklej + " ");
});
});
</script>
Do ogłoszenia.
<div class="name">@<pun_username></div>
Do wyświetlania wiadomości w chatboxie zamiast <pun_username>.
Offline
U mnie niestety wyświetla sie tak:
Gdzie błąd ?
Offline
Najprawdopodobniej kod css się nie nastąpił. Spróbuj dodać !important wszędzie gdzie występuje tutaj css.
Offline
ukaszf9, a jak można zrobić by po kliknięciu był także wyświetlany kolor rangi?
W sensie kolor nicku, taki w jaki kolor ma się rangę, czyli np, red, blue itd...
Edit: Właściwie to jest jeszcze jeden problem, że można tylko raz kliknąć, następnie jeśli chcemy wybrać czyjś nick za pomocą @ to musimy odświerzyć stronę.
Ostatnio edytowany przez beniek (2013-05-17 14:42:47)
Offline
Możesz umieścić chatboxa np. w stopce, ale pojawiałyby się w nim WYŁĄCZNIE nowe wiadomości.
Offline
Strony: 1