SárgaTulipán vendégház - Noszvaj - Szállás

SárgaTulipán vendégház - Noszvaj
Főoldal
Bejelentkezés
Partnerek
Magyar Honlap Linkek
Amfibi Shopping Search
Hun-Web Linkek
Belföldi szállás.wyw.hu
Páfrány vendégház
Abádszalók szállás
Abádszalók szálláshelyek
Noszvaj Idegenfogalmáért Egyesület
Noszvaj hivatalos weboldala
Noszvaj a lap.hu-n
Noszvaj a blog.hu-n
Noszvaj a Wikin
noszvaji szállás-ok
Valid XHTML 1.0 Transitional PageRank
favouriteshomepagerecomment
Sorry, no events to display

Technikai témák - webfejlesztés

Ajax használata Joomla keretrendszerben

PDF E-mail

Joomlás oldalon ajaxos modul? Meglévő modul ajaxosan működik? Az Ajaxnak és a Joomlának együtt csak a képzelet szab határt! 

Ajax és Joomla 

Bizonyára mindenki hallott már az Ajaxról. Ha igen, akkor itt most nem a "Florál-fieszta" kifejezésnek kellene beugrania. Aki csak keveset tud róla, annak pár szóban: az Ajax (ahogy a neve is mutatja - Asynchronous JavaSript and XML) egy technológia neve, ahol asszinkron kérés megy a szerver felé, ahonnan egy választ kapunk vissza, amit feldolgozhatunk, anélkül, hogy a teljes oldalunk újrahúzódna.

Az egész lényege annyi, hogy bizonyos eseményekre (pl amikor egy mező elveszti a fókuszt, vagy az egérrel rámutatunk valamire) egy kérés megy a szerver felé, nagyon kevés adatmennyiséggel, a szerver feldolgozza azt, és a választ visszaküldi, amelyet egy javascript függvény feldolgoz. Olyan, mintha a szerver megszólítana egy általunk megadott javascript függvényt amikor kész (vagy részben kész) a feldolgozással.

Szerver szólít meg böngészőt?? Egy állapotmentes protokollon?? Mielőtt mindenki megkövez, hangsúlyozom, hogy mintha.  Valójában a kliens küldözget requesteket, és figyeli a responsokat.

Hogy jön a  képbe a Joomla? Mint az már bizonyára mindenkinek feltünt, a sargatulipan.hu a Joomla keretrendszerrel készült. Szerintem a Joomla nagyon jó keretrendszer, de a fejlesztők egy dolgot rendesen kihagytak belőle, mégpedig az Ajax támogatást. No nem kis work-around-dal elérhetjük, hogy az oldalunkon könnyen, gyorsan, hatékonyan tudjunk Ajaxos modulokat megjeleníteni, illetve meglátjátok mennyire egyszerű a már meglévő komponenseket, modulokat Ajaxossá tenni. Előrebocsátom, bele kell nyúlni egy-két forrásállományba, ez nem olyan "egérrel kattingatok - de jó" munka, aki erre számít attól előre is elnézést kérek.

Vágjunk bele!

Kliens oldal (ezek a templateünk index.php-jába kerülnek):

Példányosítani kell egy request objektumot a <HEAD>-ben, egy <SCRIPT> tag-ban. Ez globális lesz az oldalunkra nézve.

function createRequestObject() {     
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();

csináltam 2 saját függvényt is, amelyeken keresztül hívom a szerver oldali logikát.

Most jön a trükk (erről a szerver oldali részben írok): 

 var mosConfig_live_site = 'http://www.sargatulipan.hu';
var ajaxHandle = mosConfig_live_site + '/index.php?Itemid=65';
 function sndReqMod(aModName,aParam,aResponseMethod) {
http.open('get', ajaxHandle + '&mod=' + aModName + aParam);
http.onreadystatechange = aResponseMethod;
http.send(null);
}
function sndReqCom(aComName,aParam,aResponseMethod) {
http.open('get', ajaxHandle + '&com=' + aComName + aParam);
http.onreadystatechange = aResponseMethod;
http.send(null);
}

 Miután ez megvan, már csak hívni kell azeket a függvényeket a megfelelő módon felparaméterezve. A következő kis példában a bejelentkezésnél használt felhasználói név mezőbe írt értéket ellenőrizzük, miután a fókusz elhagyja a mezőt. Az alábbi javascript metódus-t "hívja" a szerver.

<SCRIPT>
function handleResponseLogin() {
if(http.readyState == 4){
//ez jelenti azt, hogy a szerver oldal befejezte a működését
var response = http.responseText;
document.getElementById('loginMessage').innerHTML =
response != ''? response : "";
}
</SCRIPT>

 Definiáljuk az input tag-et.

<div id="loginMessage"></div>
Felhasználónév:
<input type="text" onblur=
'sndReqMod("mod_cbloginrc2","&value=
"+this.value,handleResponseLogin);'
/>

 A response-t a szerver oldal generálja ki, jelenleg HTML formátumban. Ami a responsban visszajön, azt adjuk értékül a mező fölötti div-nek.

Ugye, nem is olyan nehéz... Ennyi a kliens oldal!

HAMAROSAN JÖN A SZERVER OLDALI RÉSZ BEMUTATÁSA IS!

Az alapötlet egyébként a joomla kérés feldolgozásában rejlik.

 
3325, Noszvaj, Kossuth út 26.
2012. 2. 6, hétfő, Dóra. Holnap Tódor napja lesz.
sheeps

 

 

Ez itt az

Ön

hirdetésének

a helye!

Kéne egy weblap?

 

Honnan jönnek a hirdetések?

 

Ibolya vendégház - Noszvaj

 

Fűzfa Vendégház

 

8222 február falu vagy gyermek lehetőség noszvaji sült iskolában 8221 órától programok szükséges magtár bemutató kemencében torna nagyobb noszvaj készítése térképen napi belépő kóstolója megjelenítése kézműves thummerer sütemények minden alatt

Joomla Modul