Estensione Flash MX ECCatalog |
|
|
|
|
|
|
Documentazione ECCatalog Indice Table Of Contents Documentation Info ECCatalog Overview ECCatalog class
. . . Properties
. . . . . . currentPage
. . . . . . genSettings
. . . . . . isFirstPage
. . . . . . isLastPage
. . . . . . items
. . . . . . itemsCount
. . . . . . nonSearchFields
. . . . . . ownSettings
. . . . . . pageCount
. . . . . . pageDim
. . . . . . pagedItems
. . . . . . pubblicationType
. . . . . . queryOnSelect
. . . . . . rootFolder
. . . . . . serachFields
. . . Methods
. . . . . . bindComboboxes
. . . . . . firstPage
. . . . . . loadData
. . . . . . nextPage
. . . . . . previousPage
. . . . . . search
. . . . . . setFilter
. . . Events
. . . . . . onComplete
. . . . . . onFiltersLoad
. . . . . . onItemsLoad
. . . . . . onRefresh
. . . . . . onSettingsLoad
. . . . . . onStatus Documentation Info Author: TECH S.r.l.
Last Modified: 2003/6/13
Generator: gModeler.com. ECCatalog Overview ECCatalog è un componente che consente
di ottenere un modello ad oggetti estremamente funzionale di un catalogo
prodotti esportato (come vari file XML) da Easy Catalog. Grazie a questo modello ad oggetti, alle utilità di impostazione
visuale dei parametri del componente e alle procedure automatizzate
di collegamento del componente lo sviluppatore Flash può avvantaggiarsi
di un SDK completo per la creazione e l'inserimento di cataloghi
multimediali all'interno delle proprie animazioni Flash. Il tutto
in pochissimo tempo e con il minimo sforzo! L'utilizzatore del modello ad oggetti qui documentato non deve preoccuparsi
minimamente della logica di interpretazione dei file XML contenenti
i dati, della logica di ricerca, della logica di paginazione dei risultati,
della logica di visualizzazione delle immagini. A tutto pensa il componente ECCatalog: In tal modo lo sviluppatoe può
concentrarsi sulla forma della presentazione dei dati, lasciando libero
spazio alla sua creatività. ECCatalog class Availability Flash Player 6 Usage Parameters None. Returns An instance of the ECCatalog class. Description La classe ECCatalog consente di gestire i dati
pubblicati da Easy Catalog in una forma strutturata nella sintassi ActionScript.
Example La classe catalogo è istanziata in automatio nel
fotogramma in cui è stato posizionato il componente ECCatalog.
Il suo nome è quello che viene dato all'istanza del simbolo. ECCatalog Properties currentPage : number Availability Flash Player 6. Usage ECCatalog .currentPage Description Numero della pagina corrente. L'array pagedItems
contiene un sottoinsieme degli items del catalogo correntemente disponibili
( infatti un sottoinsieme dell'array items, che contiene tutti gli items
trovati dopo una ricerca) Example var thePage = myCatalog.currentPage genSettings : object Availability Flash Player 6. Usage ECCatalog .genSettings Description
Struttura a coppie nome-valore contenente i setting generali del catalogo
(nome azienda, etc...). Nel dettaglio i valori contenuti sono i seguenti: ECCatalog.genSettings .Titolo ECCatalog.genSettings .Sottotitolo ECCatalog.genSettings .Spalla ECCatalog.genSettings .Indirizzo ECCatalog.genSettings .Citta ECCatalog.genSettings .Provincia ECCatalog.genSettings .Stato ECCatalog.genSettings .CAP ECCatalog.genSettings .Tel ECCatalog.genSettings .Fax ECCatalog.genSettings .Email ECCatalog.genSettings .Extras ECCatalog.genSettings .Tipo Example isFirstPage : boolean Availability Flash Player 6. Usage ECCatalog .isFirstPage Description Indica se la pagina corrente la prima Example if(myCatalog.isFirstPage){
trace("Questa e' la prima pagina")
} isLastPage : boolean Availability Flash Player 6. Usage ECCatalog .isLastPage Description Indica se la pagina corrente e' l'ultima Example if(myCatalog.isLastPage){
trace("Questa e' l'ultima pagina")
} items : array Availability Flash Player 6. Usage ECCatalog .items Description Array di oggetti ITEM disponibili dopo una ricerca
(potrebbe non contenere tutti gli ITEM del catalogo). La versione paginata
degli stessi si trova in pagedItems.
Ogni elemento dell'array items un oggetto di tipo Item, quindi con proprieta'
e metodi in grado di descrivere il relativo articolo comprese immagini
associate, scheda tecnica, descrizioni.
Struttura di un oggetto ITEM:
PROPRIETA PUBBLICHE:
imageSource = path completo dellimmagine principale dellitem
thumbSource = path completo della thumbnail relativa allimmagine
principale dellitem
code = codice dellarticolo
_techDataSource = path della scheda tecnica
description = descrizione generica dellarticolo
descriptions = struttura a coppie nome-valore delle descrizioni
non filtrabili dellitem
filters = struttura a coppie nome-valore delle descrizioni
filtrabili dellitem
techData = scheda tecnica dellarticolo; e' disponibile solo
dopo aver invocato loadTechData con successo. Al suo interno contiene:
Struttura di un oggetto TECHDATA:
techData.images = Array Array di strutture contenenti
le informazioni sulle immagini associate allarticolo, ogni elemento
dellarray contiene le proprieta'
techData.images[i].source = path dellimmagine
techData.images[i].description = descrizione associata
allimmagine
techData.data = Struttura Struttura contenente le informazioni
sulle coppie nome-valore della scheda tenica dellarticolo.
Es: techData.data.nomeCampo = nomeValore
METODI PUBBLICI:
loadTechData() = carica la scheda tecnica dellarticolo
EVENTI:
onLoadTechData = evento richiamato al caricamento completo
della scheda tecnica
Example var theItem = myCatalog.items[0]
// output della descrizione dell'item
trace(theItem.description)
// output dei campi descrittivi dell'item
for(filed in theItem.descriptions)
trace(filed + " : " + theItem.description[field])
// carico la scheda tecnica dell'articolo
theItem.loadtechData();
theItem.onLoadTechData = function(){
trace("techData for " + this.description + " loaded!")
}
itemsCount : number Availability Flash Player 6. Usage ECCatalog .itemsCount Description Numero totale degli items ( diverso in generale
da items.length) Example var totalCount = myCatalog.itemsCount nonSearchFields : array Availability Flash Player 6. Usage ECCatalog .nonSearchFields Description Array di tre stringe contenente i nomi dei campi
di descrizione fissi. I campi non utilizzati avranno una stringa vuota Example
// visualizzo tutti i campi di descrizione fissi
for(field in myCatlog.nonSearchFileds)
trace("Campo numero " + filed + " : " + myCatlog.nonSearchFileds[field])
ownSettings : object Availability Flash Player 6. Usage ECCatalog .ownSettings Description Struttura contenente i setting generali del
catalogo (nome azienda, etc...).
NOTA: queste impostazioni sono tipiche degli skin automaticamente generati
da easycatalog. In altri casi non hanno significato ed possibile ignorarli. Example pageCount : number Availability Flash Player 6. Usage ECCatalog .pageCount Description Numero delle pagine nella paginazione corrente
di ECCatalog.items Example var totPages = myCatalog.pageCount pageDim : number Availability Flash Player 6. Usage ECCatalog .pageDim Description Quantita' di items per pagina nella paginazione
del catalogo.
In pratica la lunghezza dell'array pagedItems. Example
// utilizzo una paginazione e visualizzo 6 articoli alla volta
myCatalog.pageDim = 6;
myCatalog.rootFolder = "catalogData";
myCatalog.loadData();
pagedItems : array Availability Flash Player 6. Usage ECCatalog .pagedItems Description Array di oggetti ITEM paginati.
La paginazione del catalogo consente di osservare un numero limitato
di articoli per volta, in modo da utilizzare lo schermo nel modo migliore.
Sostanzialmente l'array items contiene tutti gli items del catalogo
filtrati dopo la chiamata a search(). L'array pagedItems contiene
invece solo la pagina corrente della paginazione di items.
Il numero di items per pagina e' pageDim. Per muoversi all'interno delle
pagine sufficiente utilizzare i metodi
myCatalog.nextPage() => avanza di una pagina
myCatalog.previousPage() => torna indietro di una pagina
myCatalog.firstPage() => retrocede alla prima pagina
Il contenuto di pagedItems riaggiornato ogni volta che uno di questo
metodi viene invocato.
Example
// funzione che legge tutti gli items nella pagina
// successiva del catalogo
function viewNextPage(){
myCatalog.nextPage();
for(item in myCatalog.pagedItems){
treace("Item number " + item + " : " + myCatalog.pagedItems[item].description)
}
}
pubblicationType : boolean Availability Flash Player 6. Usage ECCatalog .pubblicationType Description Puo' essere CD o HTML.
Indica il tipo di pubblicazione e puo' essere sfruttata nei casi in
cui si debbano adottare delle tecniche anti-caching: in questi casi
doveroso sapere se il filmato in locale oppure visualizzato on-line. Example queryOnSelect : boolean Availability Flash Player 6. Usage ECCatalog .queryOnSelect Description Se vero richiama search() subito dopo aver impostato
il valore di un filtro.
E' utile impostarlo su true qualora non si desideri utilizzare un pulsante
"Cerca" nel proprio filmato da cliccare ogni volta che si sono impostati
i criteri di ricerca. Infatti quando si imposta
queryOnSelect = true
e si utilizza un binding automatico delle combo utilizzate per la ricerca
(tramite bindComboBoxes) la ricerca viene invocata automaticamente non
appena una qualsiasi delle combo cambia selezione. Example
myCatalog.queryOnSelect = true rootFolder : string Availability Flash Player 6. Usage ECCatalog .rootFolder Description Cartella radice di pubblicazione dei file di
EC ( la cartella che contiene le directory data, images, cards). Inserire
il nome della cartella senza la slash finale.
Es 1. Se il filmato e' nella stessa cartella che contiene le cartelle
data, images, cards usare:
myCatalog.rootFolder = ""
myCatalog.loadData();
oppure
myCatalog.loadData("");
Es 1. Se il filmato e' in una directory superiore a quella contenente
data, images, cards che supponiamo chiamarsi "files", usare:
myCatalog.rootFolder = "files"
myCatalog.loadData();
oppure
myCatalog.loadData("files");
Example serachFields : array Availability Flash Player 6. Usage ECCatalog .serachFields Description Array di 5 elementi contenete i nomi dei campi
su cui possibile attivare una ricerca. I campi non utilizzati contengono
una stringa vuota. Example
// visualizzo tutti i campi di descrizione ricercabili
for(field in myCatlog.searchFileds)
trace("Campo numero " + filed + " : " + myCatlog.searchFileds[field])
ECCatalog Methods bindComboboxes : Availability Flash Player 6. Usage ECCatalog .bindComboboxes(comboClip1[,comboClip2[,comboClip3[,comboClip4[,comboClip5]]]] ) Parameters comboClip1 Riferimento ad una comboBox (movieClip) comboClip2 Riferimento ad una comboBox (opzionale) (movieClip) comboClip3 Riferimento ad una comboBox (opzionale) (movieClip) comboClip4 Riferimento ad una comboBox (opzionale) (movieClip) comboClip5 Riferimento ad una comboBox (opzionale) (movieClip) Returns Nothing. Description Collega delle comboBox ai dati del catalogo. Example
myCatalog.pageDim = 6;
myCatalog.rootFolder = "";
myCatalog.loadData();
myCatalog.onComplete = function(){
this.bindComboBoxes(_root.cb1,_root.cb2,_root.cb3)
this.queryOnSelect = true;
}
firstPage : Availability Flash Player 6. Usage ECCatalog .firstPage( ) Parameters None. Returns Nothing. Description Torna alla prima pagina. Viene utilizzato in
associazione all'array ECCatalo.pagedItems, che contiene solo gli item
della pagina corrente.
NOTA: dopo aver richiamato questa funzione viene automaticamente invocato
l'evento
ECCatlog.onRefresh
che consente di definire una funzione all'interno della quale aggiornarevisualmente
gli elementi grafici della pagina del catalogo. Example
// al pulsante di navigazione first_btn viene associato
// il ritorno alla prima pagina del catalogo
first_btn.onPress=function () {
myCatalog.firstPage();
};
loadData : Availability Flash Player 6. Usage ECCatalog .loadData([rootFolder] ) Parameters rootFolder cartella di pubblicazione dei file di Easy
Catalog (string)
E' opzionale: se omesso viene utilizzati il valore impostato per
ECCatalog.rootFolder. Il valore predefinito e' comunque "" ovvero la sessa
cartella in cui risiede il file swf corrente.
Per indicare una cartella specifica e' possibile usare sintassi di questo
tipo:
ECCatalog.loadData("catalogo/filesEasyCatalog/")
oppure
ECCatalog.loadData("../catalogo/")
L'importante e' specificare percorsi relativi e terminare il percorso
con una slash (/) Returns Nothing. Description Carica i dati del catalogo.
Una volta lanciata questa procedura possibile rimanere in attesa del
caricamento dei file di configurazione dl catalogo tramite l'evento
ECCatalog.onComplete()
che viene invocato quando tutti e tre i file xml di configurazione del
catalogo sono stati caricati.
In alternativa e' possibile attendere il caricamento dei singoli files
monitornadoli con, onFiltersLoad(), onItemsLoad(), onSettingsLoad()
L'evento onStatus() viene invocato nel caso in cui il caricamento dei
dati non vada a buon fine. Example
myCatalog.loadData("catalogFiles/");
myCatalog.onComplete = function(){
trace("Il catalogo stato caricato")
}
myCatalog.onStatus = function(error){
trace("Errore nel caricamento del catalogo :\n" + error)
}
nextPage : Availability Flash Player 6. Usage ECCatalog .nextPage( ) Parameters None. Returns Nothing. Description Avanza alla pagina seguente. Viene utilizzato
in associazione all'array ECCatalo.pagedItems, che contiene solo gli
item della pagina corrente.
NOTA: dopo aver richiamato questa funzione viene automaticamente invocato
l'evento
ECCatlog.onRefresh
che consente di definire una funzione all'interno della quale aggiornarevisualmente
gli elementi grafici della pagina del catalogo. Example
// al pulsante di navigazione next_btn viene associato
// il ritorno alla prima pagina del catalogo
next_btn.onPress=function () {
myCatalog.nextPage();
};
> previousPage : Availability Flash Player 6. Usage ECCatalog .previousPage( ) Parameters None. Returns Nothing. Description Ritorna alla pagina precedente. Viene utilizzato
in associazione all'array ECCatalo.pagedItems, che contiene solo gli
item della pagina corrente.
NOTA: dopo aver richiamato questa funzione viene automaticamente invocato
l'evento
ECCatlog.onRefresh
che consente di definire una funzione all'interno della quale aggiornarevisualmente
gli elementi grafici della pagina del catalogo. Example
// al pulsante di navigazione previous_btn viene associato
// il ritorno alla prima pagina del catalogo
previous_btn.onPress=function () {
myCatalog.previousPage();
};
search : Availability Flash Player 6. Usage ECCatalog .search([filter1,filter2,filter3,filter4,filter5 ]) Parameters filter1 Valore di filtraggio relativo al primo filtro
(number) filter2 Valore di filtraggio relativo al secondo filtro
(number) filter3 Valore di filtraggio relativo al terzo filtro
(number) filter4 Valore di filtraggio relativo al quarto filtro
(number) filter5 Valore di filtraggio relativo al quinto filtro
(number) Returns Nothing. Description Screma gli items del catalogo in base ai criteri
di ricerca impostati. I criteri di ricerca sorrispondono ai valori dei
filtri, che possono essere passati come argomenti oppure impostati in
precedenza tramite la il metodo setFilter().
Si noti che ogni filtro deve essere specificato come un numero:
0 significa "nessun filtro"
quindi
myCatalog.search(0,0,0,0,0)
restituisce tutti gli items del catalogo (navigabili attraverso myCatalog.items
o myCatalog.pagedItems)
I valori numerici dei filtri sono memorizzati nella collection
ECCatalog._filters
Quest'array contiene al massimo 5 oggetto FILTER ognuno dei quali presenta
questa forma...(TODO)
Example
myCatalog.setFilter(0,34);
myCatalog.setFilter(1,42);
myCatalog.search();
setFilter : Availability Flash Player 6. Usage ECCatalog .setFilter(index,value ) Parameters index Indice del filtro da impostare (number) value Valore del filtro da impostare (number) Returns Nothing. Description Imposta il valore dei filtri di ricerca. In
generale, se il catalogo stato correttamente collegato a delle comboBox,
non necessario avvalersi di tale metodo.
Per capire meglio come funziona questo metodo e' necessario capire in
che modo Easy Catalog associa i valori di filtraggio agli articoli.
Si supponga di utilizzare un catalogo di automobili nel quale si utilizzano
due "serachFileds" ovvero due campi descrizione sui quali possibile
effettuare un filtraggio. Questi due campi siano "Cilindrata" e "Porte".
Queste due stringhe costituiranno i due primi elementi dell'arrai searchFields.
Gli altri tre saranno stringhe vuote. Il filtro "Cilindrata" potra'
ad esempio contenere le coppie lable-id:
1600 cc --> 123
1020 cc --> 125
1290 cc --> 156
2600 cc --> 45
mentre il filtro "Porte"
5 --> 452
3 --> 9
Quindi se si vuole impostare il filtro "Potenza" su "2600 cc" in modo
da effettuare una ricerca sulle sole automobili aventi tale cilindrata,
si dovra' scrivere:
ECCatalog.setFilter(0,45)
E se si vuole cercare tutte le automobili a tre porte:
ECCatalog.setFilter(1,9)
La proprieta' ECCAtalog._filters contiene invece un array di 5 elementi
contenenti delle strutture dati che descrivono i filtri e le associazioni
tra label e id di un filtro particolare.
Per conoscere la struttura di questi oggetti si veda la struttura filter
Struttura filter:
filter.name = nome del filtro. ad esempio "Colore"
filter.labels = array associativo di coppie nome valore (label/ID).
Esempio:
filters.labels["Rosso"] // = 123
filters.labels["Verde"] // = 58
filters.labels["Marrone"] // = 12
filters.labels["Bianco"] // = 16
filters.selectedID = IDcorrentemente selezionato. Viene impostato
in automatico dalla funzione setFilter()
Se si desidera collegare le combobox in modo
manuale possibile farlo con un codice del tipo
combo.addItem({label:"Tutti",data:0});
for(var lab in myCatalog._filters[0].labels)
combo.addItem({label:lab,data:myCatalog._filters[0].labels[lab]);
combo.setChangeHandler("comboChange")
function comboChange(){
myCatalog.setFilter(0,combo.getValue().data)
} Example ECCatalog Events onComplete : Availability Flash Player 6. Usage ECCatalog .onComplete( ) Parameters None. Returns Nothing. Description Callback richiamato al termine del caricamento
del di tutti i file xml del catalogo. Example
myCatalog.loadData("catalogFiles/");
myCatalog.onComplete = function(){
trace("Il catalogo stato caricato")
}
myCatalog.onStatus = function(error){
trace("Errore nel caricamento del catalogo :\n" + error)
}
onFiltersLoad : Availability Flash Player 6. Usage ECCatalog .onFiltersLoad( ) Parameters None. Returns Nothing. Description Callback richiamato al termine del caricamento
del file di definizione dei filtri Example ECCatalog.onFiltersLoad = function(){
trace("File di definizione dei filtri caricato")
} onItemsLoad : Availability Flash Player 6. Usage ECCatalog .onItemsLoad( ) Parameters None. Returns Nothing. Description Callback richiamato al termine del caricamento
del file di definizione degli articoli Example ECCatalog.onItemsLoad = function(){
trace("File di definizione degli articoli caricato")
} onRefresh : Availability Flash Player 6. Usage ECCatalog .onRefresh( ) Parameters None. Returns Nothing. Description Callback richiamato al termine di una ricerca
o cambio di pagina.
Ogni volta che il contenuto dell'array ECCatalog.pagedItems e ECCatalog.items
viene a cambiare questo evento richiamato in modo tale da consentire
allo sviluppatore di definire una procedura per visualizzare i nuovi
articoli.
onRefresh() viene richiamato dopo ogni spostamento tra le pagine (quindi
chiamando i metodi ECCatalog.nextPage ecc...) oppure dopo ogni ricerca
(chimando il metodo search() o in automatico se si utilizza queryOnSelect
= true) Example catalogo.onRefresh = function () {
for(var i = 0 ;i<9;i++){
if (catalogo.pagedItems[i]!=null){
trace("Path thumbnail : " & catalogo.pagedItems[i].thumbSource)
trace("Description : " & catalogo.pagedItems[i].description)
}
}
trace("Pag " + catalogo.currentPage + "/" + catalogo.pageCount)
} onSettingsLoad : Availability Flash Player 6. Usage ECCatalog .onSettingsLoad( ) Parameters None. Returns Nothing. Description Callback richiamato al termine del caricamento
del file di definizione delle impostazioni.
Il file di definizione delle impostazioni contiene informazioni sulla
societa' (TEL, indirizzo etc etc) e alcune impostazioni tipiche degli
skin predefiniti di EasyCatalog. In genere queste impostazioni non sono
necessarie allo sviluppatore. Example ECCatalog.onISettingsLoad = function(){
trace("File di definizione delle impostazioni del catalogo")
} onStatus : Availability Flash Player 6. Usage ECCatalog .onStatus( ) Parameters None. Returns Nothing. Description Callback richiamato se si verificano errori
di caricamento dei file del catalogo Example ECCatalog.onStatus = function(errorString){
trace("Errore: " + errorString)
}
Documentation Generated With gModeler.com |