Nástroje používateľa

Nástoje správy stránok


dev:omega:js:js-php:start

Rozdiely

Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.

Odkaz na tento prehľad zmien

Both sides previous revision Previous revision
Next revision
Previous revision
dev:omega:js:js-php:start [2017/01/07 09:42]
Boris Duchaj
dev:omega:js:js-php:start [2017/01/10 09:06] (aktuálne)
Boris Duchaj
Riadok 2: Riadok 2:
  
 ===== Tvorba html stránky ===== ===== Tvorba html stránky =====
-Pre správne fungovanie html verzie je nutná správna tvorba .tpl súboru ​dannej ​stránky. Pretože OMEGA, má svoj vlastný systém generovania a publikovania html stránok je nutné ako prvé správne vytvorenie tpl, z ktorého sa daná html stránka následne ponúkne prehliadaču.+Pre správne fungovanie html verzie je nutná správna tvorba .tpl súboru ​danej stránky. Pretože OMEGA, má svoj vlastný systém generovania a publikovania html stránok je nutné ako prvé správne vytvorenie tpl, z ktorého sa daná html stránka následne ponúkne prehliadaču.
  
 +Ako prvé je nutné mať doplnený **smarty plugin** (adresár //​smarty_plugins//​) **function.mergeFiles.php** o **funkciu importParseYaml** nachádza sa napr. vo vetve **duch/​merge7**. \\
 +Táto funkcia má nastarosti korektné načítanie dát z Yaml súboru a ich vloženie v správnom tvare do daného tpl súboru.  ​
  
 +Do tpl súboru sa je nutné načítanie js a css určitým spôsobom a to následovne ​
  
-Komunikácia medzi JavaScriptom a PHP API v Omege je zabezpečená triedou ​+<code tpl> 
 +{mergeFiles 
 + type="​css"​ 
 + assign="​tmpCssFileName"​ 
 + outputDir="​`$app->​public_dir`web"​ 
 + expireDays=10 
 + files=""​ 
 + yaml_file="​testss/​testss.yaml"​ 
 +}
  
-**comm_class.js** v adresari //./js//  +{mergeFiles 
- + type="​js
-**commJs.class.php** v adresari //​./​include/​/+ assign="​tmpJsFileName"​ 
 + outputDir="​`$app->​public_dir`web"​ 
 + expireDays=10 
 + files=""​ 
 + yaml_file="​testss/testss.yaml" 
 +} 
 +</code>
  
-Pre správne fungovanie ​je nutné ​mať taktiež kompletné verzie jquery ​jquery-ui+Predtým ​je nutné ​vytvoriť v adresári modulu, adresár //​form_data// ​sem nahrať **yaml súbor**, ktorý je  uvedený v yaml_file položke.\\ 
 +Yaml súbor obsahuje následovný tvar
  
 +<code yaml>
 +css:
 +- main.css
 +- jquery-ui.min.css
 +- jquery-ui.structure.css
 +- jquery-ui.theme.css
 +- html/​tabs/​css/​class_tab.css
 +- html/​window/​css/​class_window.css
 +- html/​calendar/​css/​calendar.css
 +- html/​calendar/​css/​datapicker.css
 +- html/​context_menu/​css/​class_contextMenu.css
 +- html/​tree/​css/​class_tree.css
 +- html/​gantt_planner/​css/​class_gantt_planner.css
 +- jsSmartSearch/​ssearch.css
  
 +js:
 +- terminal.x/​jquery-1.10.2.js
 +- terminal.x/​jquery-ui.js
 +- function.js
 +- sha3.js
 +- md5.js
 +- comm_class.js
 +- html/​includer/​js/​class_includer.js
 +- html/​calendar/​js/​calendar_class.js
 +- html/​calendar/​js/​calendar_function.js
 +- html/​window/​js/​class_window.js
 +- html/​tabs/​js/​class_tab.js
 +- html/​tree/​js/​class_tree.js
 +- html/​context_menu/​js/​class_contextMenu.js
 +- html/​gantt_planner/​js/​class_gantt_planner.js
 +- js_smartSearch.js
 +
 +module_js:
 +- testss.js
 +
 +module_css:
 +- testss.css
 +</​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 =====
 +
 +Nutné súbory \\
 +
 +**comm_class.js** v adresari //./js// \\
 +
 +**commJs.class.php** v adresari //​./​include//​ \\
 +
 +Pre správne fungovanie je nutné mať taktiež kompletné verzie jquery a jquery-ui. ​
  
-===== Nadviazanie Async spojenia s PHP =====+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>​
  
 +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á.
  
dev/omega/js/js-php/start.1483778523.txt.gz · Posledná úprava: 2017/01/07 09:42 od Boris Duchaj