Vad är mallskriptning?
Aviseringsmallar stöder ett skriptspråk kallat Liquid (drivet av Scriban). Det låter dig inkludera försändelsdata som inte är tillgängliga som ett standardsammanslagningsfält — till exempel anpassade referensfält — och lägga till enkel logik som "visa bara det här avsnittet om ett värde finns."
Du behöver inte vara utvecklare för att använda den här funktionen, men det kräver att du skriver kod direkt i mallredigeraren.
När ska jag använda skriptning?
Använd skriptning när:
- Du behöver ett referensfält som inte har något standardsammanslagningsfält (till exempel en anpassad orderreferens som lagras under en specifik referenstyp)
- Du vill visa eller dölja ett avsnitt beroende på om ett värde finns
- Du behöver bygga en anpassad URL med försändelsdata
För standardfält som mottagarnamn, ordernummer eller spårningslänk — använd de vanliga sammanslagningsfälten. Skriptning är för specialfall.
Var du lägger till skript i redigeraren
Skript måste läggas till inuti ett befintligt innehållsblock — inte som ett separat fristående block. Om du lägger till ett skriptblock på egen hand skapas ett tomt mellanrum i din e-post.
Det finns två ställen där du vanligtvis lägger till skript:
- Inuti ett textblock — för att mata ut ett värde som en del av din e-posttext
- Inuti en knapps länkfält — för att bygga en dynamisk URL
Exempel 1: Visa ett referensfält i e-posttext
Det här exemplet visar hur du visar ett anpassat referensvärde (referenstyp 7 — Mottagarreferens) i din e-post.
- Öppna din mall. Gå till Portal > Settings > Notifications > Templates och öppna den mall du vill redigera.
- Klicka i det textblock där du vill att värdet ska visas. Skriptet måste finnas i samma block som den omgivande texten — inte i ett separat block.
-
Skriv skriptet i början av blocket. Klistra in följande längst i början av textblocket, före allt annat innehåll:
{%- for rf in references -%}{%- if rf.type_id == 7 -%}{%- assign ref_val = rf.value -%}{%- endif -%}{%- endfor -%}Lägg sedan till din etikett på nästa rad och mata ut värdet:
Receiver reference: {{ ref_val }} -
Förhandsgranska mallen. Använd knappen Preview och ange en streckkod från en försändelse som har en mottagarreferens. Bekräfta att värdet visas korrekt.
Vad händer om referensen är tom för vissa försändelser?
Lägg till ett reservalternativ så att inget ser trasigt ut. Det här döljer raden helt om inget värde hittas:
{%- for rf in references -%}{%- if rf.type_id == 7 -%}{%- assign ref_val = rf.value -%}{%- endif -%}{%- endfor -%}
{% if ref_val %}Receiver reference: {{ ref_val }}{% endif %}Exempel 2: Visa ett avsnitt villkorligt
Använd det här för att visa ett textblock bara när ett specifikt villkor är uppfyllt — till exempel bara visa hämtningsinstruktioner när en hämtningskod finns.
{% if pickup_code %}
Your pickup code is: {{ pickup_code }}
Please show this code when collecting your parcel.
{% endif %}Exempel 3: Dynamisk knapp-URL
Istället för att länka till en fast URL kan du inkludera försändelsdata i länken.
- Lägg till ett knappblock i din mall.
-
Öppna knappens länkinställningar och ange din URL. För enkla fält skriver du URL:en direkt i länkfältet:
https://anywebsite.no/?s={{any_number}}För ett referensvärde i URL:en:
{%- for rf in references -%}{%- if rf.type_id == 7 -%}{%- assign ref_val = rf.value -%}{%- endif -%}{%- endfor -%}https://yourwebsite.com/search?ref={{ ref_val }}Note: Keep everything on one line with no space between the script and the URL.
Vanliga referenstyp-ID:n
Referenser identifieras med ett type_id-nummer. Ersätt 7 i exemplen ovan med det typ-ID för fältet du behöver.
| type_id | Fält |
|---|---|
| 1 | Ordernummer |
| 2 | Ytterligare referens |
| 7 | Mottagarreferens |
| 8 | Projekt |
| 9 | Transportörmeddelande |
| 10 | Förarmeddelande |
| 11 | Mottagarmeddelande |
Om du är osäker på vilket typ-ID ditt fält använder kan du kontrollera försändelsen i Shipment Data API eller kontakta nShift support.