20.10.2009 Pikaopas eZ JSCore -laajennukseen
eZ JSCore on laajennus, jonka tarkoituksena on helpottaa Ajax-toiminnallisuuksien kehitystä. Lisäksi se hakee automaattisesti jQuery- tai YUI-kirjaston, joko kyseiseltä palvelimelta tai CDN:stä. Myös Javascript- ja CSS-tiedostojen yhdistäminen sekä tiivistäminen onnistuu. eZ JSCore toimii lähinnä rakennusalustana muille Javascipt/Ajax-sovelluksille.
Javascript- ja tyylitiedostojen tiivistäminen
Alla perusteet tiedostojen tiivistämiseen.
ezjscore.ini
[eZJSCore] Packer=enabled
pagelayout.tpl
{ezcss_load()}
{ezscript_load()}
page_head_script.tpl
{def $javascripts = array( 'common.js', 'anotherfile.js' )}
{ezscript_require( $javascripts )}
page_head_style.tpl
{def $styles = array( 'reset.css', 'screen.css', 'print.css' )}
{ezcss_require( $styles )}
Ajax-kutsu
ezjscore.ini
[ezjscServer_foobar] Class=foobar File=extension/foobar/classes/foobar.php
eZ JSCore integroituu suoraan eZ Publishin käyttöoikeuksiin, joten voit määritellä luokka- tai metodikohtaisesti käyttöoikeudet.
Esimerkiksi näin:
[ezjscServer_foobar] Class=foobar File=extension/foobar/classes/foobar.php Functions[]=foobar PermissionPrFunction=enabled [ezjscServer] FunctionList[]=foobar_getdata FunctionList[]=foobar_postdata
Nopeuttaaksesi Ajax-kutsuja voit kopioida extension/ezjscore/index_ajax.php tiedoston sivuston juureen. Lisää myös alla olevat rewrite-säännöt.
Virtual host -asennus
RewriteRule ezjscore/call/ /index_ajax.php [L]
Perusasennus
RewriteRule ezjscore/call/? index_ajax.php RewriteRule ^index_ajax\.php - [L]
Tämän jälkeen voit kutsua foobar-luokasta haluamaasi metodia esimerkiksi osoitteella http://www.example.com/ezjscore/call/foobar::getdata. Parametrilla http_accept voit määritellä missä muodossa kutsu palauttaa vastauksen. Vaihtoehtoina json, xml, html ja teksti (text).
Voit kutsua myös suoraan sivupohjatiedostoa PHP-luokan sijasta. Alla oleva asetus kutsuu http://www.example.com/ezjscore/call/foobar::getdata osoitteella sivupohjaa polusta design/foobar/getdata.tpl.
[ezjscServer_foobar] Functions[]=getdata TemplateFunction=true
Lisätietoa laajennuksen projektisivulta: eZ JSCore. Muun muassa eZ Star Rating käyttää jo eZ JSCorea.

26.12.2009 klo. 01:17 Tero Auralinna
Kattavampi eZJSCore artikkeli: http://share.ez.no/articles/ez-publish/ezjscore-ez-publish-javascript-and-ajax-framework