Briefly In English

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.

Kommentoi kirjoitusta

Täytäthän kaikki pakolliset kentät jättääksesi kommentin