Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

La clé properties permet de modifier facilement les informations des entités affichées un peu partout (les informations d'une order, d'un parcel, ou de line items, ou même des pop-ins).


Image RemovedImage Added                              Pop-inImage RemovedPop-inImage Added

Pour les orders, parcels et line items

...

Code Block
languageapplescriptthemeMidnight
properties:
	claim:
		order: [
					['id', 'delivery.type'], 			# Ligne 1
					['date']							# Ligne 2
				]
		line_item: [...]
    pack:
		parcel: [...]
		line_item: [...]

Dans l'exemple ci-dessus, la première ligne d'order contiendra les propriétés order.id et order.delivery.type tels que récupérés en appelant l'OMS, et séparés par le caractère pipe |

Page avec multi parcel

Dans le cas des pages qui supportent le multi colisage ou multi empaquetage (bag et pack) il y a une entité appele appelé multi_order, qui correponde a corresponde à celle qu'est utilisé lors que lorsque la store app est configuré pour faire de multi colisage empaquetage (clé options.create_multi_parcels)

...

La pop-in affichée sur diverses pages peut également être personnalisée. Le format de la config est cependant un peu différent:

configurer la pop-in
Code Block
title
languageapplescript
themeMidnight
configurer la pop-in
properties:
	popin:
		line_item: [
					['features.name'], 							# Titre de la pop-in
					['|rawstring:Référence', 'item_id']			# Ligne 1 Sous l'image
					['|rawstring:Prix', 'payment.price']		# Ligne 2 Sous l'image
					['|rawstring:Couleur', 'features.color']	# Ligne 3 Sous l'image
					['|rawstring:Taille', 'features.size']		# Ligne 4 Sous l'image
				]

...

Si je veux récupérer le 3ième élément d'un tableau (index 2), j'utiliserai delivery.destination.address.lines|arrayelement:2.

title
Tip

Parenthèses

Une syntaxe de parenthèsage est disponible pour les expressions les plus complexes.

Les propriètés les plus imbriquées dans des parenthèses seront évaluées en priorité. Ainsi, la proprièté  "parcels|forcount:line_item_ids|concatraw: / |concatraw: (line_items|length)" affichera 1 / 2.

En l'absence de parenthèses, les formatteurs sont appliqués de gauche à droite.



formatter

effet

option

example

arrayelement

Récupère l'élément d'un tableau à l'index défini en option

Index de l'élément

types|arrayelement:0
ffs

capitalize

Remplace toutes les lettres par des minuscules, sauf la première, en majuscule


features.name|capitalize
Summer

dress

concat

Concatène une autre property, sans espace

Propriété à concaténer

carrier|concat:tracking_code
ups64477466854

concatraw

Concatène une string définie dans l'option

String à concaténer

state|concatraw:par

l'entrepôt
dispatched

par

l'entrepôt

currency

Formate un nombre en une currency, avec un symbole défini dans une autre propriété

La propriété contenant la currency

payment.price|currency:payment.currency
35,99

£

currencyraw

Formate un nombre en une currency, avec un symbole défini dans l'option

La currency à utiliser

payment.price|currencyraw:USD
35,99

$

dateto

Formate un intervalle de date

Status
colourYellow
title9.8

Propriété correspondant à la date de fin

eta_start|dateto:end_end
27

-

30

september

expirationcolor

Renvoie une date dans la couleur envoyée si elle est expirée
Il est possible de passer un paramètre relatif (secondes à retirer à la date d'expiration)

la valeur de warning qui sera soustraite à la date du jour pour le calcul (en secondes)

la couleur à mettre si la date est expirée

La valeur à retourner (formatée si besoin à l'aide d'une autre fonction)

expiration_dates.client_collect.expiration|expirationcolor:86400,danger,(expiration_dates.client_collect.expiration|moment:DD/MM/YYYY|transcount:carry.reserved_till)

Reserved until 10-02-2023

(NB: la valeur avant le | sert pour les calculs de l'expiration (timestamp), la valeur dans les options sert à l'affichage (peut être formatée).

filter

Parcourt un tableau et garde les éléments de ce tableau dont une propriété vaut une des valeurs fournies.

Une propriété=une liste de valeurs séparées par une virgule

line_items|filter:state=removed,mistaken|length|concatraw: items sont removed ou mistaken

5 items sont removed ou mistaken

filterlength

Parcourt un tableau et compte le nombre d'élèment de ce tableau dont une proprièté vaut une des valeurs fournies. (v5.5)

Une propriété=une liste de valeurs séparées par une virgule

line_items|filterlength:state=removed,mistaken|transcount:order.cancel_count

(5 canceled)

forcount

Parcourt un tableau et compte la taille d'une proprièté de chaque de ce tableau. (v5.5)

Une propriété

parcels|forcount:piece_ids|transcount:order.item_count

5 items

hierarchicalchoose

Parcourt un tableau et renvoie l'élément dont l'index est le plus faible dans le tableau défini en option . Si rien ne matche, ne fait rien. (v10.0)

Une liste de valeurs séparées par une virgule

types|hierarchicalchoose:ois,ckc,ffs

ckc

length

Retourne l'attribut length d'un tableau ou d'une string


piece_ids|length
3

link

Formate le résultat sous forme de lien

Une propriété

delivery.carrier.name|link:delivery.carrier.tracking_url
<a href="colissimoURL">colissimo</a>

link_blank

Formate le résultat sous forme de lien blank

Une propriété

delivery.carrier.name|link:delivery.carrier.tracking_url
<a target="_blank" href="colissimoURL">colissimo</a>

lowercase

Remplace toutes les lettres par des minuscules


features.name|lowercase
summer

dress

moment

Formate un timestamp en utilisant un format de momentjs

Format de la date

date|moment:DD/MM/YYYY
29/03/2018

mutiply

Permet de multiplier plusieurs valeurs

Status
colourBlue
title11.5

les différentes valeurs a multiplier

truncated= : précision du résultat (chiffre après la virgule), par défaut a 2

unit= : l'unité de mesure du résultat


les arguments sont séparé par une virgule

|multiply:x,y,z,truncated=2,unit=kg

x = 0.3
y = 1.2
z = 1.8

0.648 kg



prepend

Concatène une autre property à gauche

Une propriété

tracking_code|prepend:carrier
ups64477466854

prependraw

Concatène une string définie dans l'option, à gauche

String à afficher

state|prependraw:L'etat

est
L'etat

est

dispatched

rawstring

Permet de remplacer le résultat par une string définie dans l'option

String à afficher

|rawstring:Charasse
Charasse

sum

Parcourt un tableau et fais la somme de la propriété donnée en option

Une propriété

line_items|sum:payment.price
75.8

trackingcode

Affiche le tracking code s'il y en a, traduit la clé passée en paramètre sinon

Clé à traduire s'il n'y a pas de tracking code

tracking_code|trackingcode:parcel.no_tracking_information

"XV265564654" ou "Colis sans information de tracking" s'il n'y a pas de tracking code

trans

Traduit le résultat (si la clé de traduction existe bien)


|rawstring:states.|concat:state|trans
Ensacheeey

transcount

Prend un nombre en entrée et appelle une traduction avec pluralisation

Clé de traduction

line_items|length|transcount:order.item_count
3

items

transcountnotnull

Prend un nombre en entrée et appelle une traduction avec pluralisation. N'affiche rien si le nombre vaut 0. (v5.5)

Appelle une traduction avec pluralisation sur l'input. N'affiche rien si !input vaut false au sens de javascript. (v10.0)

Clé de traduction

line_items|length|transcountnotnull:order.item_count

avec line_items = [] :

unfilterlength

Parcourt un tableau et compte le nombre d’élément de ce tableau dont une proprièté ne vaut pas une des valeurs fournies. (v5.5)

Une propriété=une liste de valeurs séparées par une virgule

line_items|unfilterlength:state=removed,mistaken|concatraw:

not

canceled

5 not canceled

uppercase

Remplace toutes les lettres par des majuscules


features.name|uppercase
SUMMER

DRESS

since

Prend une date en entrée et retourne la difference a partir de maintenant dans la lang du site.

(V11.0)


date|since
il y a 1 heure


Note

Attention à la façon dont les propriétés sont surchargées. Un tableau de 2 éléments surchargé par un tableau vide reste un tableau de 2 éléments.


Défaut

Surcharge onboarding

Résultat

['id']

['label']

['label']

['id', 'label', 'delivery']

['date']

['date', 'label', 'delivery']

['id', 'label', 'delivery']

['date', '', '']

['date', '', ''], mais affiché commme ['date']

Note


L'avantage: il est possible de rajouter une ligne à l'order de la façon suivante, sans que les deux premières lignes ne soient écrasées.

order: [[], [], ['informations.message_cadeau']]

...