El. laiškų šablonų žinynas
Šiame žinyne aprašomi kintamieji (sujungimo laukai), kuriuos galite naudoti pritaikydami keturis operacinius el. laiškus. Jis skirtas žmonėms, redaguojantiems el. laiškų turinį, o ne programuotojams.
| Šablonas | Kada siunčiamas | Kam |
|---|---|---|
Vartotojo registracija (user_register_success) | Sukūrus naują kliento paskyrą | Klientui |
Slaptažodžio atstatymas (user_password_reset) | Kai klientas paprašo slaptažodžio atstatymo nuorodos | Klientui |
Užklausa — klientui (quote_request_customer) | Kai klientas pateikia užklausą | Klientui |
Užklausa — administratoriui (quote_request_admin) | Kai klientas pateikia užklausą | Parduotuvės kontaktiniu adresu |
Kaip veikia kintamieji
Kiekvienas šablonas palaiko sujungimo laukus — žymes turinyje, kurios išsiuntus laišką pakeičiamos tikromis reikšmėmis. Visi šablonai naudoja tą patį žymių stilių:
- Taškinis stilius:
{{ .firstName }},{{ .quoteId }},{{ .shop.name }}.
Lentelėse žemiau nurodyta tiksli kiekvieno lauko žymė. Jei laukas praleistas arba neturi reikšmės, žymė tiesiog pakeičiama tuščia reikšme.
Visada prieinami laukai
Šie laukai aprašo parduotuvę ir gali būti naudojami bet kuriame šablone:
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ .shop.name }} | Parduotuvės pavadinimas | Acme Store |
{{ .shop.url }} | Parduotuvės svetainės adresas | https://shop.example.com |
{{ .shop.logo }} | Parduotuvės logotipo paveikslėlio URL | https://shop.example.com/logo.png |
Kalbos ir versijos
- Po vieną failą kiekvienai kalbai. Kiekvienas šablonas saugomas atskirai kiekvienai kalbai (
en,lt, …); naudojama gavėjo kalbos versija. Vienos kalbos turinio redagavimas neįtakoja kitų. - Šablono redagavimas administravimo skydelyje pažymi jį kaip pritaikytą — sistema niekada neperrašys jūsų pakeitimų atnaujinant numatytuosius šablonus.
- Numatytojo turinio atnaujinimai pritaikomi tik tiems šablonams, kurių nepritaikėte (sekama pagal šablono versijos numerį). Jūsų pakeitimai visada viršesni.
Susiję, bet atskira: užsakymų, užklausų ir išankstinių sąskaitų PDF dokumentus generuoja verslo valdymo (ERP) sistema, o ne šie el. laiškų šablonai. Jie naudoja versijuojamą atvaizdavimo schemą (
orderDocument.v1) su gerokai didesniu laukų rinkiniu. Šių laukų ieškokite ERP žinyne „Užsakymų, užklausų ir išankstinių sąskaitų PDF šablonai“.
1. Vartotojo registracija — user_register_success
Pasveikinimo laiškas, siunčiamas klientui sukūrus jo paskyrą.
Tema: [{{ .shop.name }}] Sveikiname Jus prisijungus prie {{ .shop.name }} bendruomenės!
Galimi laukai
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ .firstName }} | Kliento vardas | John |
{{ .lastName }} | Kliento pavardė | Smith |
{{ .email }} | Kliento el. pašto adresas | [email protected] |
{{ .shop.name }} | Parduotuvės pavadinimas | Acme Store |
{{ .shop.url }} | Parduotuvės svetainės adresas | https://shop.example.com |
{{ .shop.logo }} | Parduotuvės logotipo URL | https://shop.example.com/logo.png |
Sugeneruota tema: [Acme Store] Sveikiname Jus prisijungus prie Acme Store bendruomenės!
Pavyzdys
<img src="{{ .shop.logo }}" alt="{{ .shop.name }}" style="max-height:60px">
<h1>Sveiki, {{ .firstName }} {{ .lastName }}!</h1>
<p>Dėkojame, kad sukūrėte paskyrą parduotuvėje {{ .shop.name }}.</p>
<p>Jūsų prisijungimo el. paštas: {{ .email }}</p>
<a href="{{ .shop.url }}">Apsilankyti parduotuvėje</a>Atvaizduojama John Smith parduotuvėje Acme Store:
[Acme Store logotipas]Sveiki, John Smith! Dėkojame, kad sukūrėte paskyrą parduotuvėje Acme Store. Jūsų prisijungimo el. paštas: [email protected]Apsilankyti parduotuvėje
2. Slaptažodžio atstatymas — user_password_reset
Siunčiamas, kai klientas paprašo slaptažodžio atstatymo nuorodos. Nuoroda galioja ribotą laiką po išsiuntimo.
Tema: [{{ .shop.name }}] Slaptažodžio atstatymas
Galimi laukai
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ .resetUrl }} | Pilna slaptažodžio atstatymo nuoroda | https://shop.example.com/reset-password?code=AbC123... |
{{ .shop.name }} | Parduotuvės pavadinimas | Acme Store |
{{ .shop.url }} | Parduotuvės svetainės adresas | https://shop.example.com |
{{ .shop.logo }} | Parduotuvės logotipo URL | https://shop.example.com/logo.png |
Sugeneruota tema: [Acme Store] Slaptažodžio atstatymas
Pavyzdys
<img src="{{ .shop.logo }}" alt="{{ .shop.name }}" style="max-height:60px">
<h1>Slaptažodžio atstatymas</h1>
<p>Gavome prašymą atstatyti Jūsų {{ .shop.name }} slaptažodį.</p>
<a href="{{ .resetUrl }}">Atstatyti slaptažodį</a>
<p>Jei to neprašėte, šį laišką galite ignoruoti.</p>Atvaizduojama:
[Acme Store logotipas]Slaptažodžio atstatymas Gavome prašymą atstatyti Jūsų Acme Store slaptažodį. Atstatyti slaptažodį Jei to neprašėte, šį laišką galite ignoruoti.
3. Užklausa — klientui — quote_request_customer
Patvirtinimas klientui, kad jo užklausa gauta.
Tema: [{{ .shop.name }}] Užklausa nr. {{ .quoteId }} gauta
4. Užklausa — administratoriui — quote_request_admin
Pranešimas parduotuvei apie gautą naują užklausą. Naudoja tuos pačius laukus kaip kliento versija ir siunčiamas parduotuvės kontaktiniu el. pašto adresu.
Tema: [{{ .shop.name }}] Nauja užklausa nr. {{ .quoteId }}
Galimi laukai (abu užklausų šablonai)
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ .quoteId }} | Užklausos numeris | 1042 |
{{ .token }} | Unikali užklausos nuoroda, naudojama saitams | q_9f3a7c... |
{{ .title }} | Užklausos pavadinimas | Office refit |
{{ .requestMessage }} | Kliento pateikta žinutė | Please quote for 10 desks |
{{ .currency }} | Valiutos kodas | USD |
Užsakovas — {{ with .customer }} viduje
Kas pateikė užklausą. Naudingiausia administratoriaus šablone (kad darbuotojai matytų, kam atsakyti).
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ .customer.name }} | Užsakovo vardas | John Smith |
{{ .customer.email }} | Užsakovo el. paštas | [email protected] |
{{ .customer.phone }} | Užsakovo telefonas (verslo užklausos) | +1 555 010 1234 |
{{ .customer.company }} | Įmonės pavadinimas (verslo užklausos) | Acme Corp |
{{ .customer.companyCode }} | Įmonės kodas | 123456789 |
{{ .customer.vatCode }} | PVM kodas | US123456789 |
Iš krepšelio pateiktos užklausos užpildo tik vardą ir el. paštą; telefono/įmonės laukai užpildomi verslo užklausoms. Tušti laukai atvaizduojami tuščiai.
Užklausos nuoroda: {{ .shop.url }}/quotes/{{ .token }} → https://shop.example.com/quotes/q_9f3a7c...
Eilutės — {{ range .lineItems }} viduje
Kiekvienas užklausiamas produktas rodomas kaip eilutė su šiais laukais:
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ .productName }} | Produkto pavadinimas | Desk 120cm |
{{ .description }} | Produkto aprašymas | Reguliuojamo aukščio stalas |
{{ .articule }} | Produkto kodas / SKU | DSK-120 |
{{ .quantity }} | Užklausiamas kiekis | 10 |
{{ .measurementUnit }} | Matavimo vienetas | vnt |
{{ formatPrice .priceInclTax }} | Vieneto kaina su mokesčiais | 149.00 |
{{ formatPrice .total }} | Eilutės suma be mokesčių | 1400.00 |
{{ formatPrice .totalInclTax }} | Eilutės suma su mokesčiais | 1490.00 |
{{ .vatPercentage }} | PVM tarifas (%) | 21 |
{{ formatPrice .discountPerUnit }} | Nuolaida vienetui | 10.00 |
{{ formatPrice .totalDiscount }} | Eilutės nuolaidos suma | 100.00 |
{{ .currency }} | Valiutos kodas | USD |
{{ range .charges }} | Eilutės mokesčiai — kiekvienas turi .chargeName, .chargeAmount, .totalAmount | priemokos/tarifai |
Vieneto vs. eilutės suma:
priceInclTax— vieno vieneto kaina;totalInclTax— visos eilutės suma (kiekis × kaina, atėmus nuolaidas). Užklausos lentelėje paprastai rodomi abu.
Produkto katalogo duomenys — {{ .product }}
Kiekviena eilutė taip pat turi pilną produkto įrašą po {{ .product }} (tas pats objektas, kurį naudoja užsakymo patvirtinimas; taip pat pasiekiamas kaip {{ .productInfo }}). Dažniausiai naudingi laukai:
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ .product.brand }} | Prekės ženklas (taip pat {{ .product.brandInfo.name }}) | Acme |
{{ .product.description }} | Katalogo aprašymas | Reguliuojamo aukščio stalas |
{{ .product.image }} | Produkto paveikslėlio URL (taip pat imageSmall, images) | https://shop.example.com/img/desk.jpg |
{{ .product.supplierCode1 }} | Tiekėjo kodas (taip pat supplierCode2, supplierCode3) | SUP-4471 |
Neprivalomi laukai: kai kurie laukai (pvz., tiekėjo kodai) būna tik tada, kai produktas juos turi — apsaugokite sąlyga, kitaip trūkstama reikšmė bus rodoma kaip
<no value>:{{ if .product.supplierCode1 }}Tiekėjas: {{ .product.supplierCode1 }}{{ end }}
{{ .product }}turi daug daugiau laukų (svoris, kategorijos, kainų lygiai…). Pačios eilutėsproductName,articule,quantityir kainos yra tiesiogiai eilutėje (aukščiau), o ne po.product.
Sumos — {{ with .totals }} viduje
| Laukas | Aprašymas | Pavyzdys |
|---|---|---|
{{ formatPrice .totalInclTax }} | Bendra suma su mokesčiais | 1490.00 |
{{ formatPrice .total }} | Bendra suma | 1490.00 |
{{ formatPrice .totalExclTax }} | Suma be mokesčių | 1400.00 |
{{ formatPrice .totalTax }} | Mokesčių suma | 90.00 |
{{ formatPrice .totalShippingInclTax }} | Pristatymo suma su mokesčiais | 0.00 |
{{ formatPrice .totalDiscountInclTax }} | Nuolaidos suma su mokesčiais | 0.00 |
formatPricesuformatuoja skaičių su dviem skaitmenimis po kablelio (pvz.,149.00). Naudokite jį aplink bet kurį kainos lauką.
Pavyzdinės reikšmės
quoteId = 1042
token = q_9f3a7c...
title = Office refit
requestMessage = Please quote for 10 desks
currency = USD
lineItems:
- productName = Desk 120cm
articule = DSK-120
priceInclTax = 149.00
currency = USD
quantity = 10
measurementUnit = vnt
totals:
total = 1490.00
totalInclTax = 1490.00
totalExclTax = 1400.00
totalTax = 90.00Sugeneruota tema (klientui): [Acme Store] Užklausa nr. 1042 gauta Sugeneruota tema (administratoriui): [Acme Store] Nauja užklausa nr. 1042
Pavyzdys (klientui)
Čia parodyti du dažniausiai klaidingai naudojami dalykai — ciklas per eilutes ir sąlyginis blokas:
<h1>Užklausa nr. {{ .quoteId }} gauta</h1>
<p>Dėkojame — gavome Jūsų užklausą ir netrukus su Jumis susisieksime.</p>
{{ if .requestMessage }}
<p><strong>Jūsų žinutė:</strong> {{ .requestMessage }}</p>
{{ end }}
<table>
<tr><th>Produktas</th><th>Kiekis</th><th>Kaina</th></tr>
{{ range .lineItems }}
<tr>
<td>{{ .productName }}</td>
<td>{{ .quantity }} {{ .measurementUnit }}</td>
<td>{{ formatPrice .priceInclTax }} {{ .currency }}</td>
</tr>
{{ end }}
</table>
{{ with .totals }}
<p><strong>Iš viso: {{ formatPrice .totalInclTax }} {{ $.currency }}</strong></p>
{{ end }}
<a href="{{ .shop.url }}/quotes/{{ .token }}">Peržiūrėti užklausą</a>Atvaizduojama (užklausa #1042, 10 stalų):
Užklausa nr. 1042 gauta Dėkojame — gavome Jūsų užklausą ir netrukus su Jumis susisieksime. Jūsų žinutė: Please quote for 10 desks
Produktas Kiekis Kaina Desk 120cm 10 vnt 149.00 USD Iš viso: 1490.00 USDPeržiūrėti užklausą
Pastaba dėl
{{ with .totals }}:rangearbawithbloko viduje.reiškia dabartinį elementą — naudokite$.currency(su$), kad pasiektumėte viršutinio lygio lauką.
Pavyzdys (administratoriui)
Administratoriaus šablonas naudoja tuos pačius laukus — skiriasi tik formuluotė (tai pranešimas, o ne patvirtinimas), ir jame paprastai parodoma, kas pateikė užklausą:
<h1>Nauja užklausa nr. {{ .quoteId }}</h1>
{{ with .customer }}
<p>Nuo: {{ .name }} ({{ .email }}){{ if .company }} — {{ .company }}{{ end }}</p>
{{ if .phone }}<p>Telefonas: {{ .phone }}</p>{{ end }}
{{ end }}Atvaizduojama:
Nauja užklausa nr. 1042 Nuo: John Smith ([email protected]) — Acme Corp Telefonas: +1 555 010 1234
Trumpa apžvalga
| Šablonas | Kalbos | Kam |
|---|---|---|
user_register_success | en, lt | Klientui |
user_password_reset | en, lt | Klientui |
quote_request_customer | en, lt | Klientui |
quote_request_admin | en, lt | Parduotuvės kontaktiniu adresu |
Visi šablonai naudoja taškinį {{ .field }} žymių stilių.
Formatavimo pagalbininkai
| Pagalbininkas | Paskirtis | Pavyzdinė išvestis |
|---|---|---|
formatPrice | Formatuoja skaičių su 2 skaitmenimis po kablelio | 149.00 |
formatDate | Formatuoja datą kaip YYYY-MM-DD | 2026-07-15 |
formatDateUS | Formatuoja datą kaip MM/DD/YYYY | 07/15/2026 |
formatDatetimeUS / formatDateTimeUS | Formatuoja datą ir laiką JAV stiliumi | 07/15/2026 02:30 PM |
nl2br | Naujas eilutes paverčia į <br> | kelių eilučių tekstas |
Naudokite {{ formatDateUS .someDate }} JAV stiliaus datoms. formatPrice daugiausia naudojamas užklausų šablonuose (kuriuose yra kainos ir datos).