Propozycje modyfikacji - [beta] Ajaxowe stawianie piwka na podstawie BeerMod 2.2a FIN
kevin_ - 21-03-2011, 10:59 Temat postu: [beta] Ajaxowe stawianie piwka na podstawie BeerMod 2.2a FIN
Opis modyfikacji napisał/a: |
Wirtualny browar stawiamy bez przeładowania strony WWW. Po udanej operacji wyświetla nam się obrazek kciuka do góry sugerujący poprawność wykonania operacji. W przypadku zablokowanej obsługi JAVASCRIPT w przeglądarce, skrypt normalnie stawia piwko (po staremu, z odświeżeniem i przekierowaniem do tematu)
|
SCREENY:
- Widok przed postawieniem piwa - standardowy wygląd, klikamy na piwko i..
- operacja udała się, piwko wystawione
- jeśli coś nie pójdzie po naszej myśli (jakiś błąd po stronie beermoda) bądź klikniemy później na ikonkę kciuka pojawi się nam inny obrazek: - kciuk w dół
W celu zmiany adresów obrazków (tych kciuków, obrazka loading...) udajemy się do pliku jsscripts.js i edytujemy wartości dla "Icon_Up", "Icon_Down", "Icon_Loading"
Modyfikacja jest prosta do bólu, prosty cel - żadnych zbędnych bajerów. Łatwo ją dostosować do np. portalu (gdy chcemy aby piwka można było też wystawiać z portalu). Wystarczy, aby nasz link do piwka był w mniej więcej takiej postaci:
Kod: |
<a id="beer_url_{ID_POSTU}" onclick="postawPiwko({ID_POSTU}); return false;" href="beermod.php?mode=post_beer&p={ID_POSTU}">(...) obrazek piwka</a>
|
Oczywiście musimy załączyć bibliotekę jQuery (standardowo w instrukcji ją dodajemy do sekcji HEAD w overall_header.tpl, stąd na każdej podstronie będzie załączona) oraz plik "jsscripts.js" - jednak on tak samo jest w sekcji HEAD, czyli na każdej podstronie forum.
Mod bazowałem na podstawie Beer Mod 2.2a FINAL, nie mam pojęcia czy zadziała na Beer 2.4 - choć moim zdaniem powinno być OK
kooza - 21-03-2011, 11:46
Działa z tym beer modem >> http://www.przemo.org/php...pic.php?t=65912
tylko że jest jeden problem:
Jak daje piwko to cały czas wyskakuje kciuk w dół.
Demo: http://cityfm.xaa.pl/przemo/
kevin_ - 21-03-2011, 11:50
kooza, weź podmień funkcje is_ajax() - właśnie wrzuciłem poprawioną instrukcje.
MagicalFire - 21-03-2011, 11:56
kooza, masz cos powalone bo niby stawia piwo ale tak naprawdę nie dodaje go
kevin_,moze masz jakos demo
kooza - 21-03-2011, 11:56
kevin_, Teraz jest wszystko ok. Działa
MagicalFire napisał/a: | kooza, masz cos powalone bo niby stawia piwo ale tak naprawdę nie dodaje go |
Jak go nie dodaje. jak go dodaje.
Wtedy nie dodawał. bo był ten błąd w funkcje is_ajax()
Ale już jest poprawione
Pawliniak - 21-03-2011, 17:55
Polecam wszystko działa z 2.4
Anonymous - 22-03-2011, 16:07
Fajnie by było, gdyby zamiast kciuka w górę był napis lub obrazek, który po kliknięciu w niego piwo zostałoby również ajaxowo cofnięte. Kciuk w dół przy błędzie to złe rozwiązanie, ktoś, kto nie będzie wiedział, że oznacza to błąd będzie myślał, że dał piwo minusowe lub coś w tym stylu. Lepiej po prostu, żeby wyskoczył napis "błąd" i po krzyku.
MaTeK_ - 22-03-2011, 17:32
to masz kod
Kod: | Icon_Up = 'http://members.multimania.co.uk/songoo/img_up.gif',
Icon_Down = 'http://members.multimania.co.uk/songoo/img_down.gif',
Icon_Loading = 'http://members.multimania.co.uk/songoo/ajax_loading.gif' |
w images/jsscripts.js to wgraj obrazek jaki chcesz i pozamieniaj ścieżki
Anonymous - 26-03-2011, 11:06
A jak y tym cofaniem wystawionego piwa?
kevin_ - 26-03-2011, 11:10
jakim cofaniem? jest w ogóle taka opcja w beermodzie? - jeśli nie, to ja jej nie będę dorabiał
japi55 - 26-03-2011, 15:17
kevin_ napisał/a: | jakim cofaniem? jest w ogóle taka opcja w beermodzie? |
Nie ma
MagicalFire - 27-03-2011, 13:06
Cytat: | Nie ma |
jest ale nie bezpośrednio w tematach
d!r3k - 05-04-2011, 22:01
kevin_, a nie lepiej wywalić to potwierdzenie postawienie piwa?
Dla zainteresowanych:
Kod: | #----[ ZAMIAST ]----
case 'post_beer':
if ( !$post_id )
{
message_die(GENERAL_ERROR, $lang['Beermod_no_post_id']);
}
if ( isset($HTTP_POST_VARS['cancel']) AND $beermod->is_ajax() === FALSE)
{
redirect( ( strpos($ref_url, $_SERVER['HTTP_HOST']) ) ? basename($ref_url) : append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id") . "#$post_id" );
}
if ( !$confirm AND $beermod->is_ajax() === FALSE )
{
$message = '</span><form action="' . append_sid("beermod.$phpEx?mode=post_beer&" . POST_POST_URL . "=$post_id") . '" method="post">' . $lang['Beermod_confirm_text'] . '<br /><br /><input type="submit" name="confirm" value="' . $lang['Yes'] . '" class="mainoption" /> <input type="submit" name="cancel" value="' . $lang['Cancel'] . '" class="liteoption" /><input type="hidden" name="ref_url" value="' . str_replace('=', '', base64_encode($_SERVER['HTTP_REFERER'])) . '" /></form><span class="gen">';
message_die(GENERAL_MESSAGE, $message, $lang['Beermod_confirmation_required']);
}
if ( $beermod->submit_beer($db, $post_id, $userdata_user_id) )
{
if ( $beermod->is_ajax() )
{
echo 'BeerSet';
return true;
}
else
{
redirect( ( strpos($ref_url, $_SERVER['HTTP_HOST']) ) ? basename($ref_url) : append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id") . "#$post_id" );
}
}
break;
#----[ DAJCIE ]----
case 'post_beer':
if ( !$post_id )
{
message_die(GENERAL_ERROR, $lang['Beermod_no_post_id']);
}
if ( isset($HTTP_POST_VARS['cancel']) AND $beermod->is_ajax() === FALSE)
{
redirect( ( strpos($ref_url, $_SERVER['HTTP_HOST']) ) ? basename($ref_url) : append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id") . "#$post_id" );
}
if ( $beermod->submit_beer($db, $post_id, $userdata_user_id) )
{
if ( $beermod->is_ajax() )
{
echo 'BeerSet';
return true;
}
else
{
redirect( ( strpos($ref_url, $_SERVER['HTTP_HOST']) ) ? basename($ref_url) : append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id") . "#$post_id" );
}
}
break; |
Gangst3r - 29-04-2011, 10:57
Wszystko niby pięknie ładnie ale u mnie przeładowuje strone tylko bez potwierdzenia
Wie ktoś jak temu zaradzić? Osobiście te łapki mnie wkurzały i moim zdaniem był to zbędny dodatkiem dlatego jsscripts.js nie edytowałem. Wcześniej miałem te łapki po postawieniu piwa, a chciałbym, żeby było tak jak w standardzie tylko bez tego potwierdzenia Tak/Anuluj i ten napis autor piwa otrzymał X piw powoli się odsłaniał taki efekt Fade in
Master93 - 29-09-2013, 20:57
działa na 2.4 wersji?
|
|
|