Introduktion
Conditions er vigtige for opsætning af regler og handlinger i Rule engine. Advanced mode i Rule engine giver dig mulighed for at bruge mere komplekse conditions. De bruger operatorer, variabler, konstanter og funktioner til at hjælpe med at bestemme checkout-muligheder baseret på faktorer som vægt, kurvpris og destination.
Regler består af en eller flere conditions, der er knyttet til actions, som kan påvirke felter, addons eller leveringsmuligheder og bestemme resultaterne, når conditions er opfyldt. Rule engine-grænsefladen gør det nemt at opsætte conditions og actions.
For mere information om almindelige use cases, se vores artikel Brug af Rule engine, som tilbyder en trinvis vejledning til oprettelse af basic conditions.
Denne artikel fokuserer på de mere avancerede aspekter af conditions:
- Advanced view i Rule engine
- Liste over gyldige operatorer
-
Brugerdefinerede parametre
- Boolean
- Tekst
- Condition lists - Expressions
Advanced view i Rule engine
I Rule engine har du mulighed for at skifte til Advanced mode. Denne indeholder et enkelt tekstfelt og gør det muligt at skrive conditions manuelt for bedre kontrol.
Bemærk, at alle indbyggede eller brugerdefinerede parametre, du vil bruge i conditions, skal være aktiveret under Parameters. Læs mere her: Aktivér parametre
Eksempler:
vip = trueBrugerdefineret tekst "vip" er lig med true
cart_price < 100Kurvprisen er mindre end 100
to_country != "SE"Land er ikke lig med Sverige
to_postal_code < "10000" and to_country = "SE" and to_postal_code > "20000"Modtagerens postnummer er mindre end 10000 og modtagerland er lig med Sverige, og postnummeret er mindre end 20000
cart_price >= 5000 or weight_kg >= 20Kurvprisen er større end eller lig med 5000, eller vægten er større end eller lig med 20
weight_kg >= 1.9 or volume_cm3 >= 8000Vægten er større end 1,9 kg, eller volumen i kubikcentimeter er større end eller lig med 8000
date > "2025-12-31"Datoen er efter 31. december 2025
cart_price > 600 and currency = "SEK" and VIP = trueKurvprisen er større end 600, valutaen er SEK, og den brugerdefinerede parameter VIP er true.
Liste over gyldige operatorer
Skrivning af conditions kræver brug af operatorer:
| Operator |
Forklaring |
|---|---|
| = | Er lig med |
| != | Er ikke lig med |
| > | Er større end |
| >= | Er større end eller lig med |
| < | Er mindre end |
| <= | Er mindre end eller lig med |
| | or OR | Eller |
| & or AND | Og |
| ! or NOT | Ikke |
| in | Indeholder |
Brugerdefinerede parametre
Her er nogle eksempler på, hvordan man bruger brugerdefinerede parametre i advanced mode. Brugerdefinerede parametre skal være aktiveret under Parameters for at være tilgængelige i advanced mode. Se Aktivér parametre.
Boolean
Brugerdefinerede parametre kan sættes til true eller false, som i disse eksempler:
bulky = true
b2b = true
VIP = false
Tekst
Du kan angive en tekst, som skal være til stede for en brugerdefineret parameter. Eksempler:
freightclass = "A"
member = “gold”
type = “nailpolish”
Condition lists
Du kan angive en parameter i en condition list ved at følge formatet parametername in "conditionlistname". Eksempel:
to_postal_code in "zipcodes_zone1"
For mere information om condition lists, se denne artikel: Kom godt i gang med Condition lists. Den indeholder et afsnit om brug af condition lists i Rule engine.
Expressions
Expressions fungerer på samme måde som Conditions, men har et andet formål. Mens Conditions returnerer en boolean (true/false) for at afgøre, om en handling skal udføres, bruges Expressions til dynamisk at sætte værdier i felter som priser eller beskeder. Expressions skal skrives inde i krøllede parenteser, "{}".
For eksempel kan et expression i et prisfelt bruge en brugerdefineret variabel fra requesten. Eller for at vise en leveringsbesked kan du skrive:
"Will be delivered on {nextWorkingDayReceiver()}"
Her er {nextWorkingDayReceiver()} expressionen. De krøllede parenteser {} fortæller systemet, at indholdet indeni skal evalueres. Hvis funktionen returnerer "Monday", bliver den endelige besked:
"Will be delivered on Monday"
Bemærk: Hvis et expression returnerer en boolean (som en condition), vil den vise "true" eller "false" som tekst, hvilket måske ikke er det ønskede resultat.
Nogle funktioner er kun tilgængelige i expressions og ikke i conditions, fordi de afhænger af viden om, hvilken fragtmulighed der bruges, noget som ikke er tilgængeligt på checkout-niveau.
| Navn | Resultattype |
|---|---|
| carrierEtaFromDate | Date |
| carrierEtaToDate or carrierEtaDate | Date |
| carrierEtaFromDateTime | DateTime |
| carrierEtaToDateTime or carrierEtaDateTime | DateTime |
| carrierEtaFromDay | String |
| carrierEtaToDay or carrierEtaDay | String |
| carrierEtaInterval | String |
| Operator |
Forklaring |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
| % | Modulo |