Le tre interfacce ACOUNTRY, ALANGUAGES, ACURRENCIES che permettono di accedere rispettivamente alle tabelle TABCOUNTRY, TABLAN, TABCUR sono di tipo 'Accesso dati'.
Le procedure di creazione sono identiche.
Solo i nomi delle tabelle e l'elenco dei campi selezionati sono diversi.
1. Creare la scheda interfaccia
2. Selezionare la tabella
3. Registrare
4. Generare l'accesso dopo aver inserito i campi utilizzati
5. Registrare e validare
6. Generare i campi con il menùStrumenti\Creazione token campi
Tipo
Accesso tabella
Codice tabella
TABCOUNTRY, TABLAN, TABCUR
Nome di pubblicazione
TABCOUNTRY, TABLAN, TABCURRENCY di default ma è possibile modificarlo
Visualizzazione dei messaggi
Tutti
Accesso protetto
no
Genera accesso
Selezionare i campi e generare il web service cliccando su OK
Il bottone 'Genera accesso' effettua le seguenti operazioni:
Come per le interfacce, le entità ACOUNTRY, ALANG, ACURRENCY sono create nella stessa maniera.
Sono differenti solo il nome dell'interfaccia e l'elenco dei campi.
1. Creare l'entità di tipo 'Accesso dati' basata sull'interfaccia.
L'entità è utilizzata per memorizzare i dati delle richieste sulla tabella
2. Associare i campi
Aiutarsi con il menù Strumenti\Aiuto alla compilazione
3. Inserire il campo chiave dell'entità nel riquadro 'Campi (selezione)'
4. Registrare e validare
Per visualizzare la bandiera occorre creare un token campo COUNTRYFLAG di tipo 'Accesso immagine' e parametrizzarlo affinchè generi una URL di accesso al file .gif che contiene l'immagine del flag
Il campo COUNTRYFLAG sarà inserito in un tag <img>.
La parametrizzazione del token consiste nel:
In questo caso i file bandiera sono memorizzati in un dossier FLAGS della directory HTML ed hanno come nome il CODICEPAESE.gif.
Validare il campo dopo la creazione.
Il campo COUNTRYFLAG non fa parte dell'interfaccia e deve essere calcolato durante la creazione dell'entità.
Basta aggiungere il campo COUNTRYFLAG all'entità ACOUNTRY e 'mapparlo' con il campo CRY che contiene il codice paese.
Durante il mapping, il server XTEND aggiungerà un campo COUNTRYFLAG all'entità e lo valorizzerà con il codice paese.
Durante la visualizzazione, il campo sarà trasformato in una URL nell'attributo src del tag img che punterà sul file CODEPAY.gif
<img height="25" width="40"
src="/xtend/data/remote/SOLSUPV6/SUPERV/X_TEND/X_HTML/ASAMPLE/ITA/FLAGS/ATF.gif"/>
In questo esempio l'url punta direttamente sul file del server X3.
I token blocco sono inseriti nella pagina HTML. Sono loro ad attivare la richiesta verso X3, la lettura e la visualizzazione dei dati.
1. Creare un blocco
2. Aggiungere i criteri di selezione e di ordinamento
3. Registrare e validare
Come esempio si è creato un blocco 'Multi record' ABLKCOUNTRIES che punta sull'entità ACOUNTRY e che seleziona le schede che hanno almeno un codice CRY (CRY >=AA).
Nel database di test alcuni codici hanno meno di due caratteri.
Per autorizzare l'ordinamento sui codici paese è stato relizzato un ordinamento ascendente sul codice paese CRY di default e autorizzata la modifica dell'ordinamento mediante un link dinamico.
Sono i token link dinamico ADLKCOUNTRYSORTDW e ADLKCOUNTRYSORTUP che permetteranno l'ordinamento del riquadro.
Tipo di ordinamento
Campo
Ordinamento modificabile
Si
Campi di ordinamento
CRY
Il blocco ABLKCOUNTRIES è stato definito come blocco principale della pagina web ACOUNTRIES, il che permette di utilizzare l'alias AMAIN piuttosto del nome del blocco per indirizzare tale blocco:
I blocchi ABLKLANG e ABLKCURRENCY sono 'Mono record' e selezionano rispettivamente le entità ALANG e ACURRENCY in funzione del codice lingua (LAN) e del codice valuta (CUR) della riga selezionata nel blocco principale AMAIN_ (blocco ABLKCOUNTRIES).
Il link è effettuato mediante il token 'link dinamico' ADLKSELECT che seleziona la riga di un blocco (azione web speciale ABLKSELECT ) e rivisualizza la stessa pagina.
Questa azione indica al server XTEND che la riga che contiene il link su cui ha cliccato l'utente diventa la riga selezionata.
Quando un blocco ha una riga selezionata, tutti i token campi che si riferiscono a questo blocco MYBLOCK.MYFIELD assumono il valore del campo della riga selezionata.
In questo caso, siccome i blocchi lingua (ABLKLANG) e valuta(ABLHCURRENCY) hanno come selezione AMAIN.LAN et AMAIN.CUR (AMAIN è l'alias del blocco ABLKCOUNTRIES), questi blocchi visualizzeranno le informazioni nella lingua e nella valuta del paese selezionato.
Per questo esempio è stato scelto di visualizzare il risultato nella stessa pagina e di gestire la visualizzazione mediante un token 'blocco condizionato' ADISPMAINSELECT che visualizza o nasconde un campo HTML a seconda che il blocco principale MAIN abbia una riga selezionata o meno.
I token ADLKCOUNTRYSORTUP e ADLKCOUNTRYSORTDW permettono di ordinare l'elenco dei paesi per codice ascendente e discendente.
Pagina corrente
si
Avanzamento attività
No in quanto non è necessario tracciare questo tipo di azione
Selezione sull'entità
ACOUNTRY: Entità da selezionare (quella del blocco dei paesi)
Applicazione selezione
'Sostituisce la selezione del blocco principale': L'ordinamento/selezione postati dal link dinamico a destinazione della pagina (stessa pagina in questo caso) sostituiranno l'ordinamento/selezione del blocco principale AMAIN (Blocchi ABLKCOUNTRIES in questo caso)
Tipo di selezione
Nessuna: poichè si desidera modificare solo i criteri di ordinamento del blocco
Tipo di ordinamento
Campo: Campo CRY in questo caso con l'ordine ascendente (ADLKCOUNTRYSORTUP) e discendente (ADLKCOUNTRYSORTDW )
Creare la pagina ACOUNTRIES (non protetta) che ha come blocco principale il blocco ABLKCOUNTRIES.
Inserimento del token pagina web ACOUNTRIES nel menù a sinistra per visualizzare la pagina.
<TD class="button"><A adx="ACOUNTRIES">Paese</A></TD>
Per effettuare un link semplice (senza azione né selezione) verso una pagina web mediante un tag anchor basta inserire un token di tipo 'pagina web' nel tag (<a adx="PaginaWeb"></a>) per limitare il numero di token 'link dinamici'.
La visualizzazione dell'elenco dei paesi consiste nel posizionare il blocco ABLKCOUNTRIES che effettua una iterazione sull'elenco dei paesi e permette di creare tante righe nel riquadro quanti sono i paesi nell'elenco.
<table width="100%" border="1">
<tr class="tabTitle">
<th width="15%">
<a adx="ADLKCOUNTRYSORTUP">+</a>
<b>Code</b>
<a adx="ADLKCOUNTRYSORTDW">-</a>
</th>
<th width="20%"><b>Paese</b></th>
<th width="15%"><b>Continente</b></th>
<th width="15%"><b>Valuta</b></th>
<th width="15%"><b>Lingua</b></th>
<th width="20%"><b>Bandiera</b></th>
</tr>
<!adx="ABLKCOUNTRIES:xselect=false">
<tr adx="aLineStyle:xattr=Class">
<td><a adx="ADLKSELECT"><span adx="CRY"></span></a></td>
<td adx="CRYDES"></td>
<td adx="CONTINENT"></td>
<td adx="CUR"></td>
<td adx="LAN"></td>
<td><img adx="COUNTRYFLAG" height="25" width="40"></td>
</tr>
<!adx="ABLKCOUNTRIES">
</table>
Il parametro xselect=false del blocco ABLKCOUNTRIES indica di non selezionare la prima riga di default per nascondere il dettaglio fin quando l'utente non ha selezionato una riga.
<td>
<a adx="ADLKCOUNTRYSORTUP">+</a>
<b>Codice</b>
<a adx="ADLKCOUNTRYSORTDW">-</a>
</td>
<img adx="COUNTRYFLAG" height="25" width="40">
<td><a adx="ADLKSELECT"><span adx="CRY"></span></a></td>
<tr adx="aLineStyle:xattr=Class">
Per visualizzare le righe di un riquadro con i colori alternati si posiziona un token adx nel tag <tr>.
<tr adx="aLineStyle:xattr=Class">
aLineStyle contiene il nome della classe e xAttr=Class indica che occorre valorizzare l'attributo classe con il valore del campo aLineStyle.
Le classi css (aLineStyle) che sono applicate alle righe del riquadro sono definite nella scheda di parametrizzazione del blocco.
Il dettaglio è visualizzato non appena viene selezionata una riga mediante un clic sul codice paese.
E' il token 'link condizionato' ADISPMAINSELECT che condiziona la visualizzazione.
I blocchi ABLKCURRENCY e ABLKLANG attivano la lettura delle entità valuta e lingua del paese selezionato e permettono la visualizzione del dettaglio.
<!adx="ADISPMAINSELECT">
<table>
<!adx="ABLKCURRENCY">
<tr>
<td><b>Valuta</b></td>
<td adx="CUR" width="50"></td>
<td><b>Descrizione</b></td>
<td adx="INTDES" width="150"></td>
<td><b>Simbolo</b></td>
<td adx="CURSYM" width="50"></td>
</td>
</tr>
<!adx="ABLKCURRENCY">
<!adx="ABLKLANG">
<tr>
<td><b>Lingua</b></td>
<td adx="LAN"></td>
<td><b>Descrizione</b></td>
<td adx="INTDES"></td>
<td></td>
</tr>
<!adx="ABLKLANG">
</table>
<!adx="ADISPMAINSELECT">
<!adx="ABLKDOCHTML">
<div adx="TESTO">
</div>
<!adx="ABLKDOCHTML">
Per gestire la paginazione si utilizza la libreria pagination.lbi che contiene un codice HTML generico che può essere utilizzato per il blocco principale (AMAIN) di tutte le pagine HTML.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--This library is used to perform pagination on AMAIN bloc-->
<table width="100%">
<tr>
<td align="left" width="20%">
<!--Hide FirstPage and Previous actions if current page is the first page-->
<!adx="aHideMainFirstPage">
<!---->
<a href="" adx="AMAIN.aDlkFirstPage">Prima</a>
<a href="" adx="AMAIN.aDlkPrevPage">Precedente</a>
<!adx="aHideMainFirstPage">
</td>
<!--Displays page information-->
<td align="center" width="60%">
Pagina : <span adx="AMAIN.aPagePos"></span> -
Numero di elementi: <span adx="AMAIN.aBlkNbElmts"></span>
</td>
<td align="right" width="20%">
<!--Hide LastPage and Next actions if current page is the last page-->
<!adx="aHideMainLastPage">
<a href="" adx="AMAIN.aDlkNextPage">Successiva</a>
<a href="" adx="AMAIN.aDlkLastPage">Ultima</a>
<!adx="aHideMainLastPage">
</td>
</tr>
</table>
Per richiamare un metodo (o un campo) di un blocco XTEND si utilizza la sintassi Blocco.Azione o Blocco.Campo.
<a href="" adx="AMAIN.aDlkFirstPage">Prima</a>
<a href="" adx="AMAIN.aDlkPrevPage">Precedente</a>