Sviluppo > Safe X3 WAS > Parametrizzazione > Lista dei valori 

SEEWARNING Prima di creare il proprio sito è preferibile leggere la documentazione:Prima di iniziare.


Questa funzione permette di gestire un insieme di elenchi di valori, dedicati ad un'applicazione XTEND, come completamento dei menù locali.

Un elenco di valori XTEND è associato a Token campo e funziona come un menù locale.

Ciascun elemento dell'elenco contiene:

  • un valore,
  • una descrizione.

Come per i menù locali, il valore è accessibile mediante il nome del Token campo e la descrizione aggiungendo il suffisso _DESCR al nome del campo.

Contrariamente ai menù locali, un elenco di valori è in grado di gestire dei dati gerarchici (struttura di categorie).

Il separatore delle categorie è il carattere /.

Gli elenchi di valori possono essere creati:

  • manualmente,
  • partendo da 'messaggi X3',
  • partendo da 'tabelle diverse',
  • partendo da elaborazione batch.

Gli elenchi di valori sono memorizzati nel file MEN.xml della directory che contiene il dizionario del sito XTEND (X_TEND/X_GEN/SITE/MEN.xml) tranne gli elenchi creati mediante elaborazioni batch che sono memorizzati in directory ben specifiche.

Presa in carico

Parametrizzazione

La parametrizzazione dipende dalla modalità di gestione dell'elenco.

Validare la scheda dopo averla registrata affinchè possa essere presa in considerazione dal server XTEND.

Forzare il ricaricamento del dizionario se i parametri "Verifica degli aggiornamenti" del sito non sono attivi.

SEEREFERTTO Vedere la scheda Sito web.

Gestione manuale

L'elenco viene creato/modificato nel blocco grafico (DHTML) nela parte inferiore della videata.

Creazione a partire da zero

Si crea il primo valore:

  • clic destro sull'icona grigia nel blocco grafico,
  • poi aggiunta dei valori, aggiungendo dei 'figli' al valore creato.

La cancellazione e modifica si effettuano mediante clic destro sul valore.

Creazione a partire da un elenco esistente

E' anche possibile costruire un elenco di valori partendo da un elenco esistente creato a partire da un messaggio X3, da una tabella diversa o da un elenco batch di cui si desidera modificare il contenuto.

In questo caso:

  • creare o duplicare l'elenco di valori di origine (basato su un messaggio X3, una tabella diversa...),
  • e modificare il parametro Gestione per passarlo a Manuale.

Si può in seguito modificare il contenuto come indicato qui sopra.

L'elenco manuale non è sincronizzato con l'elenco di origine.

SEEINFO Il riferimento all'elenco di origine (menù, tabella diversa...) si perde dopo aver passato il parametro gestione a Manuale.

Aggiunta di valori

Quando si aggiunge un valore, compare la seguente finestra.
Lo scopo di questa finestra è di inserire il valore e la descrizione dell'entrata.

Selezione della descrizione

  • La descrizione non può essere inserita: proviene sempre da un messaggio X3 o da una tabella diversa per permettere le traduzioni.
  • I parametri qui di seguito permettono di inserire l'origine della descrizione:
    • Origine (metodo di lettura della descrizione),
    • Capitolo - Numero: indicare il capitolo ed il numero,
    • Tabella diversa - Numero: indicare il codice della tabella ed il codice dell'entrata

Il programma di generazione del file MEN.xml, genera tante descrizioni quante sono le lingue che sono state definite per il sito.

Inserimento del valore

Valore: questo campo contiene di default l'indice del menù locale o il codice dell'entrata della tabella diversa utilizzata per la descrizione. Viene generalmente modificato per associare dei codici specifici quando si crea un nuovo elenco di valori.

Caso delle categorie gerarchiche

Il 'campo collegato' è vuoto di default. Contiene il campo dell'entità che corrisponde al livello di categoria al quale è collegato il valore, soltanto se è diverso da quello definito di default nel riquadro 'Campo di default (entità)'.

SEEREFERTTO Vedere il paragrafo sulle categorie gerarchiche.

Gestione automatica

  • Creare un elenco di valori a partire da un messaggio X3 o da una tabella diversa.
  • Non è possibile modificare il contenuto dell'elenco.
  • Se si modifica il messaggio o la tabella diversa, validare nuovamente l'elenco di valori per prendere in considerazione le modifiche poiché i dati vengono copiati nel file dizionario MEN.xml.

Tipo
Origine dell'elenco Messaggio o Tabella diversa

Tipo Messaggio

Capitolo
N° del capitolo

Tipo Tabella diversa

Tabella diversa
Codice della tabella diversa

Descrizione breve
Sì/No

Elenco gerarchico

Dipendenza
No per generare un elenco semplice.
Sì per generare un elenco gerarchico partendo dalle dipendenze tra tabelle diverse.

Il concatenamento delle dipendenze tra tabelle diverse è di tipo 'figli verso genitore', vale a dire che il parametro 'Tabella dipendenza' della scheda 'tabelle diverse' contiene il codice della tabella padre.

Per generare un elenco valore gerarchico partendo da una tabella diversa, è necessario partire dalla tabella padre.

Livello
Definisce la profondità della struttura, ovvero il numero di livelli di categorie autorizzate per l'elenco di valori.

Gestione batch

L'elenco viene creato a partire da un programma batch.
Il formato del file creato mediante batch deve essere identico al formato del file dizionario MEN.xml.

Directory root
Directory root XTEND che contiene i file batch

Sono state definite quattro directory root per memorizzare dei file XTEND.
Le risorse (file, immagini...) di queste directory sono accessibili dal browser mediante i tokens 'immagine' o 'allegati'.

  • Design HTML: Directory del progetto HTML che tiene conto della lingua utente
  • X_FILES: Directory propria del dossier X3 che si trova sotto X3_PUB/X3FOLDER/X_TEND/X_FILES
  • X_FILEAPP: Directory propria del dossier X3 che si trova in X3_PUB/X3FOLDER/X_TEND/X_FILAPP.
    E' utilizzata per memorizzare i file derivanti dai programmi batch come documenti generati dal server di stampa
  • X_TEND: Directory usata per memorizzare file comuni a tutti i dossier
    Per esempio le immagini prodotti, i documenti commerciali...
    Si trova sotto: X3_PUB/X_TEND/

Design HTML e X_FILES possono trovarsi sul server X3 (default) oppure sul server di web services.

X_FILEAPP e X_TEND si trovano sempre sul server X3.

File
Percorso di accesso del file batch rispetto alla directory root.

Verifica aggiornamento
'Sì' per attivare la verifica periodica (ogni minuto) della data di ultima modifica del file batch.

I file batch sono ricaricati quando si ricarica il dizionario XTEND.

Gestione delle categorie gerarchiche

Come visto in precedenza, si creano degli elenchi di valori gerarchici, che vengono rappresentati sotto forma di struttura.
Si vedrà ora come gestire questa struttura di dati sotto forma di tokens nelle pagine HTML per gestire i menù di categorie gerarchiche.

Un menù di categorie gerarchiche è costituito da più ListBoxes visualizzati tramite un tag <select> i cui contenuti sono inter-dipendenti.

Si prendano come esempio le categorie seguenti, utilizzate per effettuare delle selezioni in un catalogo di autoveicoli:

Livello 1: Costruttore
Livello 2: Modello
Livello 3: Tipo SW o Berlina
Livello 4: Alimentazione Diesel o Benzina

I campi dell'entità autovettura che contengono i codici delle categorie dei livelli 1,2,3,4 sono rispettivamente CAT1,CAT2,CAT3 e CAT4.

Elenco di valori

La prima fase consiste nel creare l'elenco di valori che contene la struttura delle categorie:

Campo di default (Entità): elenco dei 'tokens campi' che contengono le informazioni sulla categoria.
Le entità XTEND che supporteranno questo sistema di categorie dovranno necessariamente includere i campi definiti nel riquadro 'Campi di default'.

Nell'esempio si inseriscono nell'ordine CAT1,CAT2,CAT3,CAT4 (Vedere paragrafo seguente).

Inserimento delle categorie: a ciascuna categoria viene associata una descrizione ed un codice categoria

N1 - Valore=REU - Descrizione=Renault
N2 - Valore=CLI - Descrizione=Clio
  N3 - Valore=BRK - Descrizione=SW
 N4 - Valore=DI - Descrizione=Diesel
 N4 - Valore=ES - Descrizione=Benzina
N2 - Valeur=MEG - Descrizione=Megane
...

Il livello (1, 2, 3,4) della categoria corrisponde al range (1-N) nel riquadro 'Campo di default' e permette di accedere al nome del campo che contiene il valore.

Entità XTEND

Le entità XTEND (provenienti dai dati X3) che supportano le categorie gerarchiche devono includere dei campi che contengono le informazioni sulla categoria.

L'entità deve includere tanti campi categoria quanti sono i livelli di categorie (un campo per livello di categoria).

Nell'esempio l'entità AUTO deve includere quattro campi CAT1, CAT2, CAT3, CAT4 per memorizzare le categorie.

I campi categoria sono associati all'elenco di valori AUTOS che contiene la struttura delle categorie.

Questi campi devono essere definiti nel parametro riquadro 'Campo di default (Entità)' dell'elenco di valori.

Nell'esempio il riquadro contiene CAT1, CAT2, CAT3, CAT4.

Si è così definito un collegamento tra la struttura e l'entità XTEND tramite i campi categoria.

Selezione

Per esprimere una categoria gerarchica si utilizza una sintassi di tipo path con il carattere / come separatore.

Per esempio /REU/CLI/BER, /PEU, /PEU/107.

Per memorizzare la categoria gerarchica nel formato path si utilizza un campo (di lavoro).

Questo campo di tipo testo è definito nel dizionario e gli si associa l'elenco di valori.

Il valore di tale campo è costruito da una funzione JavaScript in funzione dei criteri selezionati dall'utente poi inviato al server XTEND mediante un campo del form HTML.

Nell'esempio questo campo viene chiamato CATPATH.

Definizione dei criteri di selezione

Per effettuare la selezione sull'entità è necessario creare un token link dinamico ed aggiungere i criteri di selezione.

Si crea un criterio per campo categoria e si confronta il valore con quello del campo che contiene il 'path' della categoria.

Formula del token link dinamico:
CAT1 =web:CATPATH AND CAT2 =web:CATPATH AND CAT3 =web:CATPATH AND CAT4 =web:CATPATH

Per calcolare il valore del criterio il motore XTEND effettua il collegamento tra il livello del campo categoria (CAT1,CAT2...) e la posizione del valore nel 'path' della categoria.

Esempio per la categoria /REU/CLI/BER:

Al momento della valorizzazione dei criteri di selezione il motore XTEND effettua il seguente processo:

1. Lettura del valore del campo web CATPATH,
Questo campo contiene il path /REU/CLI/BER

2. Per ciascun criterio:

    • Calcolo del livello del campo categoria (CAT1,CAT2...) nella struttura
      Il livello è dato dal range nel riquadro 'Campo di default(Entità)' dell'elenco di valori
    • Estrazione del valore del 'path' in funzione del livello
      CAT1=REU - CAT2=CLI - CAT3=BER

Il tutto si svolge come se il campo CATPATH contenesse un riquadro ordinato di categorie.

Pagina HTML

Questo paragrafo descrive come utilizzare nella pagina HTML:

  • l'alimentazione automatica dei tag HTML <select> che contengono i valori dei criteri di selezione,
  • il calclo e l'aggiornamento del campo che conterrà il path della categoria selezionata (CATPATH).

I tokens XTEND permettono di elaborare queste due operazioni con poco codice JavaScript da sviluppare.

Visualizzazione dei criteri di selezione

Qui di seguito, sono stati creati quatto box di selezione che corrispondono alle quattro categorie utilizzate per selezionare le autovetture.

HTML

<table>
<tr>
<td>
 <select name="CATPATH1" adx="CATPATH:xlevel=1&xonchange=DLKSELECTAUTOS">
 <option value="">Indifferente</option>
 </select>
</td>
<td>
 <select name="CATPATH2" adx="CATPATH:xlevel=2&xonchange=DLKSELECTAUTOS">
 <option value="">Indifferente</option>
 </select>
</td>
<td>
 <select name="CATPATH3" adx="CATPATH:xlevel=3&xonchange=DLKSELECTAUTOS">
 <option value="">IIndifferente</option>
 </select>
</td>
<td>
 <select name="CATPATH4" adx="CATPATH:xlevel=4&xonchange=DLKSELECTAUTOS">
 <option value="">Indifferente</option>
 </select>
</td>
</table>
               

Campo CATPATH: contiene il 'path' della categoria corrente (Es: REU/CLI per Renault/Clio)

'adx="CATPATH:xlevel=N': questa sintassi indica al motore XTEND che è necessario alimentare l'elenco delle opzioni con i valori della categoria corrispondenti al livello N di CATPATH:

  • Se CATPATH=REU/CLI e xlevel=1
    Visualizza l'elenco dei costruttori (livello 1 della gerarchia delle categorie).
  • Se CATPATH=REU/CLI e xlevel=2
    Visualizza l'elenco dei modelli (livello 2 della gerarchia delle categorie) per il costruttore REU (Renault).

Alla prima visualizzazione della pagina, CATPATH è vuoto ed è l'opzione 'Indifferente' ad essere visualizzata (value="").

'xonchange=DLKSELECTAUTOS': esegue il link dinamico DLKSELECTAUTOS non appena il valore del campo viene modificato.

Questo parametro evita di aggiungere un bottone <input type='button' adx="DLKSELECTAUTOS" value="Seleziona"> sul quale l'utente deve cliccare dopo aver modificato il criterio.

Calcolo del path CATPATH

Le funzioni JavaScript qui di seguito permettono di calcolare il 'path' della categoria selezionata:

//-------------------------------------
//aObj è l'oggetto DOM (select) che è stato modificato
//--> nuova selezione
//Calcola il livello (wMaxLevel) della categoria in funzione del nome di aObj
//--> CATPATH1 fornisce il livello 1 - CATPATH2 fornisce il ivello 2 ...
//Calcola il path della categoria del livello 1 di wMaxLevel
//Reset dei campi di livello superiore a wMaxLevel
//Restituisce il path
function getCatCar(aObj)
{
 var wCatPrefix="CATPATH";
 var wCat="";
 if (!aObj || !aObj.name) return wCat;
 var wMaxLevel=parseInt(aObj.name.slice(wCatPrefix.length),10);
 for( var i=0;i<wMaxLevel;i++)
 {
   var wVal=xtdGetFieldVal(wCatPrefix+(i+1));
   if (wVal!="")
   {      
     if (i>0) wCat+='/';
     wCat+=wVal;
   }
 }
 // Reset dei campi
 for( var i=wMaxLevel;i<4;i++)
   xtdSetField (wCatPrefix+(i+1),"");
 return wCat;
}
//-------------------------------------
//xtdDoMyDlk è richiamato quando l'utente clicca su un link dinamico
function xtdDoMyDlk(aDomOut)
{
   var wContinue=true;
   //DLKSELECTAUTOS --> Modifica di un criterio di selezione
   if (aDomOut.isClickedDynLink("DLKSELECTAUTOS"))
   {                      
     //Calcolo del path della categoria 
     var wCat=getCatCar(aDomOut.getDynLinkCtx().getHtmlElement());
     //Aggiornamento del campo CATPATH che viene trasmesso al motore XTEND
     //--> Vedere i criteri di selezione del link DLKSELECTAUTOS
     xtdSetField("CATPATH",wCat);   
   }
   return wContinue;
}

Non appena l'utente modifica una categoria, il link DLKSELECTAUTOS viene eseguito.

La funzione 'xtdDoMyDlk' permette di effettuare delle elaborazioni specifiche prima di sottoporre il form al server XTEND.

Questa funzione:

  • calcola il nuovo 'path' della categoria (getCatCar()),
  • valorizza il campo CATPATH che è trasmesso al server.

Al ritorno, il server avrà affettuato la nuova selezione e calcolato i nuovi valori dei criteri di selezione.

Reset della selezione

La funzione qui di seguito reinizializza i criteri di selezione e ricalcola la pagina.

<script>
function selAllCars(aObj)
{
 xtdSelectSetVal("CATPATH1","");
 xtdSelectSetVal("CATPATH2","");
 xtdSelectSetVal("CATPATH3","");
 xtdSelectSetVal("CATPATH4","");
 xtdDoDlk(aObj,"DLKSELECTAUTOS");
}
</script>

<input type="button" value="Reset" onClick='javascript:selAllCars(this);'>

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

Videata di inserimento

Campi

I seguenti campi sono presenti in questo folder :

Blocco numero 5

Blocco numero 1

Codice dell'elenco di valori

  • Sito (campo FCYLIB)

Sito Web corrente.

  • Descrizione (campo INTIT)

Permette di definire una descrizione associata ad ogni scheda.

  • Gestione (campo GESOPT)

Gestione automatica

  • Tipo (campo GESORI)

Metodo di lettura della descrizione:

Messaggio: occorre indicare il capitolo ed il numero

Tabella diversa: occorre indicare il codice della tabella diversa oltre ai campi supplementari.

  • Capitolo (campo GESCHP)
  • campo WCHPDES

 

  • Descrizione breve (campo GESADISHO)

Contrassegnare per visualizzare la descrizione breve.

  • Dipendenza (campo DEPFLG)

No per generare un elenco semplice
Si per generare un elenco gerarchico a partire dalle dipendenze tra tabelle diverse.

La struttura delle dipendenze tra tabelle diverse è di tipo 'figli verso genitore' vale a dire che il parametro 'Tabella dipendenza' della scheda 'tabella diverse' contiene il codice della tabella padre.

Per generare un elenco valori gerarchico a partire da una tabella diversa bisogna partire dalla tabella padre.

  • Livello (campo DEPNIV)

Gestione batch

  • Directory root (campo RESRAC)
  • File (campo RESSUBFIC)
  • Verificaa aggiornamento (campo RESTIMSTP)

Riquadro Campi di default (entità)

Elenco dei 'token campi' che contengono le informazioni sulla categoria.
Le entità XTEND che supporteranno questo sistema di categoria dovranno obbligatoriamente comportare i campi definiti nel riquadro 'Campo di default'.

L'ordine di inserimento corrisponde al livello di categoria.

Ad esempio per le categorie di autovetture con i seguenti livelli di categorie:

N1 - Marca (Campo CAT1)
N2 - Modello  (Campo CAT2)
N3 - Tipo SW o Berlina (Campo CAT3)
N4 - Alimentazione Diesel o Benzina (Campo CAT4)

Si inseriscono i campi seguenti nel riquadro:

CAT1
CAT2
CAT3
CAT4

Riquadro Grafico riquadro

  • Codice parente (campo LNPAR10)

 

  • Codice (campo LNCOD10)

 

  • Origine (campo LNLIBORI10)
  • Capitolo (campo LNCHP10)
  • Numero (campo LNCHPNUM10)
  • Descrizione breve (campo LNADISHO10)

Contrassegnare per visualizzare la descrizione breve.

  • Tipo riga (campo LNTYP10)

 

  • Valore (campo LNVAL10)
  • campo WLNDES10

 

  • Flag (campo WLNFLGHIE)

 

  • campo WLNDESL10

 

  • campo WLNDESS10

 

  • Icona (campo WLNICO10)

 

  • Livello (campo WLNLVL10)

 

Chiudi

 

Funzioni accessibili tramite click destro sul riquadro

Nuovo valore
Azione deviazione SPECIFICA
Nuovi valori
Azione deviazione SPECIFICA
Aggiornamento valore
Azione deviazione SPECIFICA
Cancella
Link dinamico

 

Chiudi

 

Bottoni specifici

Questo bottone permette di aggiornare il dizionario XTEND nel formato XML.

Il server X3WEB considera il dizionario solo in questo formato.

Esiste un file xml per dizionario.

Per esempio il file ACT.xml che corrisponde all'insieme delle azioni web per il sito Web corrente.

Questo bottone permette di copiare un elenco di valori

Messaggi di errore

Non esistono messaggi di errore ad eccezione di quelli generici.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione