Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dev:omega:js:js-php:start [2017/01/10 08:09] Boris Duchaj |
dev:omega:js:js-php:start [2017/01/10 09:06] (aktuálne) Boris Duchaj |
||
---|---|---|---|
Riadok 71: | Riadok 71: | ||
</code> | </code> | ||
+ | <color red> **Dôležité** </color> je dodržanie poradia jednotlivých súborov tak aj uvedenie //css// a //module_css//. Ako prvé sa zadáva skupina //css// a //js// toto sú css a js súbory uložené v hlavnej adresárovej štruktúre omegy a budú nahraté ako prvé, **pozor** dodržanie poradia jednotlivých súborov. | ||
+ | Následne sa zadávajú //module_css// a //module_js//, toto sú už súbory v adresári modulu. | ||
+ | **Cesta** pre js a css je relatívna voči \css\ a \js\, pre modul sa zadávajú už len názvy súbor, samozrejme plati ak je podadresár v css tak je ho nutné uviesť do danej cesty. | ||
- | Komunikácia medzi JavaScriptom a PHP API v Omege je zabezpečená triedou | + | ===== Komunikácia medzi JavaScriptom a PHP ===== |
- | **comm_class.js** v adresari //./js// | + | Nutné súbory \\ |
+ | |||
+ | **comm_class.js** v adresari //./js// \\ | ||
a | a | ||
- | **commJs.class.php** v adresari //./include// | + | **commJs.class.php** v adresari //./include// \\ |
Pre správne fungovanie je nutné mať taktiež kompletné verzie jquery a jquery-ui. | Pre správne fungovanie je nutné mať taktiež kompletné verzie jquery a jquery-ui. | ||
+ | Následne v javascripte pre danú stránku je nutné sa komunikácia inicializuje následovne | ||
+ | <code javascript> | ||
+ | var t = new js_comunication(); | ||
+ | var settings = { | ||
+ | test1:"test1", | ||
+ | test2:"test2" | ||
+ | }; | ||
+ | t.addRawRequest( //tento request volá súbor v hlavnej štruktúre omegy t.j. /include/niečo | ||
+ | "url cesta k route napr. http://studio2.local/r/cool_uri", | ||
+ | "nasledne názov súboru case sensitive / metóda napr. testClass/testCall", | ||
+ | this, //tu si treba uvedomiť, kde sme t.j. či sa nenachádzame v zakladom javascripte alebo vo funkci alebo v jquery, pretože toto je návratový zdroj kam sa požiadavka vráti | ||
+ | [settings,"názov callBack funkcie kam sa má vrátiť výsledok z PHP", arguments]); | ||
+ | t.sendData(); | ||
+ | </code> | ||
+ | v prípade, že sa jedná o požiadavku na modul je nutné podobné zadanie ale | ||
+ | <code javascript> | ||
+ | var t = new js_comunication(); | ||
+ | var settings = { | ||
+ | test1:"test1", | ||
+ | test2:"test2" | ||
+ | }; | ||
+ | t.addRawRequest( //tento request volá modul súbor v hlavnej štruktúre omegy t.j. /modules/nazovModulu/include/testClass.class.php | ||
+ | "url cesta k route napr. http://studio2.local/r/cool_uri", | ||
+ | "module:nasledne názov súboru case sensitive / metóda napr. modul:testClass/testCall", | ||
+ | this, //tu si treba uvedomiť, kde sme t.j. či sa nenachádzame v zakladom javascripte alebo vo funkci alebo v jquery, pretože toto je návratový zdroj kam sa požiadavka vráti | ||
+ | [settings,"názov callBack funkcie kam sa má vrátiť výsledok z PHP", arguments]); | ||
+ | t.sendData(); | ||
+ | </code> | ||
- | ===== Nadviazanie Async spojenia s PHP ===== | + | Výsledkom je, že do zadanej callBack funkcie sa vráti status a result |
- | + | <code javascript> | |
+ | function callBack(status,result) | ||
+ | { | ||
+ | console.log([status,result]); | ||
+ | }; | ||
+ | </code> | ||
+ | **status** je true/false, **result** je Object,ObjectArray, ev dľa výsledku | ||
+ | Komunikácia je nastavená tak, že čaká (x milisekúnd) čas zadaný v js_comunication.js v premenej | ||
+ | <code> | ||
+ | var __timeOut__ = 30; | ||
+ | </code> | ||
+ | Kým odošle požiadavku, to znamená ak v tomto čase príjde niekoľko požiadaviek, všetky sa zabalia do jednej jedinej požiadavky, ktorá sa následne spracuje v PHP časti a odošle sa späť v tom poradí ako bola odoslaná. | ||