Variables de substitution

Les variables de substitution sont utilisées pour transférer des valeurs de l’URL de requête vers des modèles de composition stockés dans des catalogues d’images. Les variables peuvent également être utilisées pour transmettre la même valeur à différents emplacements dans une requête complexe.

$ * *= *varvalue*

var

Nom de variable.

value

Valeur à laquelle la variable doit être définie (chaîne).

Les définitions de variable et les références peuvent se trouver dans la partie requête de la requête, dans catalog::Modifier et dans catalog::PostModifier.

Les variables sont définies comme ci-dessus, comme les autres commandes IS ; l'en-tête '$' identifie la commande comme une définition de variable. Les variables doivent être définies avant d’être référencées.

Le nom de variable var n'est pas sensible à la casse et peut se composer de n'importe quelle combinaison de lettres ASCII, de chiffres, de '-', de '_' et de '.'.

REMARQUE

value doit être codé en URL à un seul passage pour une transmission HTTP sécurisée. Un codage par doublon est requis si value est retransmis via HTTP. C'est le cas lorsque value est remplacé dans une requête étrangère imbriquée ou dans l'attribut href d'un élément SVG <image>.

Les références de variable se composent du nom de variable délimité par '$' de début et de fin ($var$). Les références peuvent se produire n'importe où dans la partie valeur de toute commande IS (c'est-à-dire entre le signe "=" suivant le nom de la commande et le caractère "&" suivant ou la fin de la requête). Les variables personnalisées ne peuvent pas être appliquées aux commandes layer= et effect=. Plusieurs variables sont autorisées dans la même valeur de commande. Le serveur remplace chaque occurrence de $ *var*$ par value.

Les références de variable ne peuvent pas être imbriquées. Les occurrences de $ *var*$ dans value ne sont pas remplacées.

Par exemple, le fragment de requête :

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

est résolu à :

text=my$var2$tree

REMARQUE

'$' n'est pas un caractère réservé ; il peut se produire autrement dans la demande. Par exemple, src=my$image$file.tif est une commande valide (en supposant qu’une entrée de catalogue ou un fichier image nommé my$image$file.tif existe), contrairement à wid=$number$, car wid nécessite un argument numérique.

Traitement des variables dans les requêtes imbriquées

$ *Les références de *$ variable peuvent se trouver n’importe où dans les accolades d’une demande de diffusion d’images ou de rendu d’image imbriquée, y compris à gauche de l’"?" séparant le chemin de la requête. Le serveur remplace ces références par des valeurs (provenant de l’URL ou de catalog::Modifier du catalogue d’images principal) avant d’analyser et de traiter davantage la demande imbriquée.

En outre, toutes les définitions de $ *var*= provenant de l’URL ou de catalog::Modifier sont transférées à toutes les demandes de diffusion d’images et de rendu d’image imbriquées. Ainsi, toutes les définitions de variable sont disponibles pour tous les modèles, quel que soit le niveau d’imbrication.

Quel que soit le niveau d’imbrication, seul le codage HTTP à une seule passe doit être appliqué aux valeurs de variable qui doivent être remplacées n’importe où dans les demandes de rendu d’image ou de diffusion d’image imbriquées ou dans les chaînes catalog::Modifier associées.

Traitement variable des demandes étrangères incorporées

$ *Les références de *$ variable survenant n’importe où dans les accolades d’une requête étrangère incorporée sont remplacées par des valeurs de définition de variable correspondantes. Cela permet de placer des requêtes étrangères incorporées dans un modèle dans un catalogue d’images.

En règle générale, les valeurs de variable devant être substituées dans des demandes étrangères doivent être codées en doublon, car aucun réencodage n’est appliqué avant que le serveur ne tente de transmettre l’URL étrangère finale.

Traitement des variables dans les fichiers SVG

$ *Les références *$ de variable peuvent se produire dans les fichiers SVG dans les valeurs d’attribut et dans <text> les chaînes. La fonction Image Serving les remplace par les définitions $ *var*= correspondantes, connues au niveau d’imbrication de la demande au niveau duquel le fichier SVG est spécifié.

REMARQUE

Toute valeur de variable qui doit être remplacée par une valeur d'attribut href doit être encodée en URL de doublon ; tous les autres doivent être codés de manière unique.

Variable de chemin prédéfinie

L'object spécifié dans le chemin de requête est affecté à la variable prédéfinie *$object*. " $ *object*$" peut être placé n’importe où dans la requête, dans le modèle référencé par la requête ou dans une requête imbriquée/incorporée lorsque cet objet est autorisé, y compris la valeur src= et mask=, ainsi que le chemin d’une requête imbriquée/incorporée.

Par exemple, la requête suivante réutilise l’image spécifiée dans le chemin en tant que source d’un calque dans une requête imbriquée :

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

Cela équivaut à

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

La définition de *$object* peut être remplacée en spécifiant explicitement $ *object*= avec la valeur souhaitée.

La variable de chemin prédéfinie est généralement utilisée conjointement avec template=.

Par défaut

Aucun. Seules les variables définies seront remplacées par le serveur (à l’exception de la variable de chemin prédéfinie $object, qui sera toujours remplacée). Les occurrences de $ *var*$ restent littérales si *var*ne peuvent pas être associées à une définition de variable existante.

Exemples

Voir "Exemple A" dans Modèles.

Voir aussi

Modèles, template=

Sur cette page

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