Variabili di sostituzione

Le variabili di sostituzione vengono utilizzate per trasferire i valori dall’URL della richiesta ai modelli di composizione memorizzati nei cataloghi di immagini. Le variabili possono anche essere utilizzate per trasmettere lo stesso valore in posizioni diverse in una richiesta complessa.

$ * *= *varvalue*

var

Nome della variabile.

value

Valore a cui deve essere impostata la variabile (stringa).

Le definizioni e i riferimenti delle variabili possono verificarsi nella parte query della richiesta, in catalog::Modifier e in catalog::PostModifier.

Le variabili sono definite come sopra, simili ad altri comandi IS; il comando '$' iniziale identifica il comando come definizione di variabile. Prima di fare riferimento alle variabili, è necessario definirle.

Il nome della variabile var non fa distinzione tra maiuscole e minuscole e può essere costituito da qualsiasi combinazione di lettere ASCII, numeri, '-', '_' e '.'.

NOTA

value devono essere codificati in URL a passa singolo per una trasmissione HTTP sicura. La doppia codifica è necessaria se value viene ritrasmessa tramite HTTP. Ciò si verifica quando value viene sostituito in una richiesta straniera nidificata o nell'attributo href di un elemento SVG <image>.

I riferimenti delle variabili sono costituiti dal nome della variabile delimitato da '$' iniziale e finale ($var$). I riferimenti possono verificarsi in qualsiasi punto della porzione di valore di qualsiasi comando IS (cioè tra il '=' che segue il nome del comando e il successivo '&' o la fine della richiesta). Le variabili personalizzate non possono essere applicate ai comandi layer= e effect=. Più variabili sono consentite nello stesso valore di comando. Il server sostituisce ogni occorrenza di $ *var*$ con value.

I riferimenti alle variabili potrebbero non essere nidificati. Eventuali occorrenze di $ *var*$ all'interno di value non vengono sostituite.

Ad esempio, il frammento di richiesta:

$var2=apple&$var1=my$var2$tree&text=$var1$

risolve in:

text=my$var2$tree

NOTA

'$' non è un carattere riservato; potrebbe verificarsi altrimenti nella richiesta. Ad esempio, src=my$image$file.tif è un comando valido (supponendo che esista una voce di catalogo o un file immagine denominato my$image$file.tif), mentre wid=$number$ non lo è, perché wid richiede un argomento numerico.

Elaborazione delle variabili nelle richieste nidificate

$ * *$ i riferimenti varici possono verificarsi ovunque all’interno delle parentesi graffe di una richiesta Image Server o Image Rendering nidificata, inclusa a sinistra di '?' separazione del percorso dalla query. Il server sostituisce questi riferimenti con i valori (dall’url o da catalog::Modifier del catalogo immagini principale) prima di analizzare ed elaborare ulteriormente la richiesta nidificata.

Inoltre, tutte le definizioni $ *var*= dall'url o catalog::Modifier vengono inoltrate a tutte le richieste nidificate di Image Serving e Image Rendering. In questo modo tutte le definizioni di variabili sono disponibili per tutti i modelli, indipendentemente dal livello di nidificazione.

Indipendentemente dal livello di nidificazione, solo la codifica HTTP a passo singolo deve essere applicata ai valori delle variabili che devono essere sostituiti in qualsiasi punto delle richieste Image Rendering nidificate o Image Serving o delle relative stringhe catalog::Modifier associate.

Elaborazione delle variabili nelle richieste esterne incorporate

$ * *$ i riferimenti che si verificano in qualsiasi punto delle parentesi graffe di una richiesta esterna incorporata sono sostituiti dai valori di definizione della variabile corrispondenti. Questo consente di inserire richieste esterne incorporate in un modello in un catalogo immagini.

I valori delle variabili che devono essere sostituiti in richieste esterne in genere devono essere codificati in doppia codifica, poiché non viene applicata alcuna nuova codifica prima che il server tenti di trasmettere l’URL esterno finale.

Elaborazione variabile nei file SVG

$ * *$ i riferimenti varici possono verificarsi nei file SVG nei valori di attributo e nelle <text> stringhe. Image Server le sostituisce con le definizioni $ *var*= corrispondenti note al livello di nidificazione della richiesta in cui è specificato il file SVG.

NOTA

Qualsiasi valore di variabile che deve essere sostituito in un valore di attributo href deve essere codificato in doppio URL; tutti gli altri devono essere codificati singolarmente.

Variabile di percorso predefinita

Il object specificato nel percorso della richiesta viene assegnato alla variabile predefinita *$object*. ' $ *object*$' può essere posizionato in qualsiasi punto della richiesta, nel modello a cui fa riferimento la richiesta o in una richiesta nidificata/incorporata in cui tale oggetto è consentito, compreso il valore di src= e mask= e il percorso di una richiesta nidificata/incorporata.

Ad esempio, la seguente richiesta riutilizzerà l’immagine specificata nel percorso come origine di un livello in una richiesta nidificata:

/is/image/a/b?…&layer=3&src=is{…&src=$object$}&…

Equivale a

/is/image/a/b?…&layer=3&src=is{…&src=a/b}&…

È possibile ignorare la definizione di *$object* specificando esplicitamente $ *object*= con il valore desiderato.

La variabile di percorso predefinita viene comunemente utilizzata insieme a template=.

Predefinito

Nessuno. Solo le variabili definite verranno sostituite dal server (ad eccezione della variabile di percorso predefinita $object, che sarà sempre sostituita). Qualsiasi occorrenza di $ *var*$ rimane letterale se *var*non può essere abbinata a una definizione di variabile esistente.

Esempi

Vedere "Esempio A" in Modelli.

Consultate anche

Modelli, template=

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now