Při generování jednotlivých obsahů zpráv, můžeme použít celou řadu vestavěných funkcí Boldemu. Šablonovací systém kromě základních operací nad daty (podmínky, cykly, početní operace,
formátování aj.) si umí získat i další potřebná data, např. o produktech, načtení RSS feedu aj.
Funkce v šablonách
Načtení produktů
loadProducts <list>
Popis: vrátí seznam produktů podle vašeho externího ID produktu
Argumenty: list – pole externích ID produktů
Návratová hodnota: pole prvků modelu ProductFeedItemModel
Použití:
{{ items = loadProducts [1,2,3,4] }}
Načtení produktů podle filtru
loadProductsWithFilter dataSourceId filter topLimit
Popis: vrátí seznam produktů podle zadaného filtru
Argumenty:
- dataSourceId – ID datového zdroje (např. Heuréka XML feed)
- filter – omezení výstupu podle zadaného filtru, můžeme data omezit podle názvu kategorie, ceny apod.
- topLimit – omezení vrácení počtu produktů, výchozí hodnota 10
Návratová hodnota: pole prvků modelu ProductFeedItemModel
Použití:
{{ items = loadProductsWithFilter 20 '{category}~{ct}~{Kuchyně}~and~{price}~{qt}~{5000}' 15}}
nebo pro použití s daty z customFields
{{ items = loadProductsWithFilter 20 '{customFields.customField1}~{eq}~{Kuchyně}' 1}}
Načtení produktu podle ID
loadProduct productExternalId
Popis: vrátí produkt podle vašeho externího ID produktu
Argumenty:
- productExternalId – externí ID produktu
Návratová hodnota: prvek modelu ProductFeedItemModel
Použití:
{{ item = loadProduct 20 }}
Načtení produktů podle itemGroupIds
loadProductsByItemGroupIds dataSourceId itemGroupIds
Popis: Funkce je určena zejména pro práci s produkty v Shoptetu. Zde má každá položka svoje itemGroupId. Pokud má produkt varianty, všechny varianty jednoho produktu mají stejné itemGroupId. Vyhledáváním podle itemGroupId tedy získáte jednu z variant daného produktu.
Argumenty:
- dataSourceId – ID datového zdroje (např. Heuréka XML feed, Shoptet propojení atd.)
- itemGroupIds – seznam itemGroupIds vyhledáváných položek.
Návratová hodnota: pole prvků modelu ProductFeedItemModel
Použití:
{{
itemGroupIds = []
for itemGroupId in orderProduct.accessoryIds
itemGroupIds = array.add itemGroupIds itemGroupId
end
productWithRelatedItems.relatedProducts = loadProductsByItemGroupIds 1022 itemGroupIds
}}
Načtení článků z RSS feedu
loadRssFeed url topLimit
Popis: získá ze zadané URL adresy seznam článků
Argumenty:
- url – URL adresa validního RSS feedu
- topLimit – omezení vrácení počtu produktů, výchozí hodnota 10
Návratová hodnota: pole prvků modelu RssFeedItemModel
Použití:
{{ items = loadRssFeed 'https://boldem.cz/feed/' 20 }}
Odebrání diakritiky z textu
removeDiacritics text
Popis: ze zadaného textu funkce odebere diakritiku
Argumenty:
- text – vstupní text
Návratová hodnota: text bez diakritiky
Použití:
{{ removeDiacritics 'Příliš žluťoučký pes úpěl ďábelské ódy' }}
Výstup: Prilis zlutoucky pes upel dabelske ody
Skloňování jmen a příjmení
vokativ name
Popis: ze zadaného jména / příjmení funkce vrátí pátý pád
Argumenty:
- name – jméno nebo příjmení pro vyskloňování
Návratová hodnota: jméno nebo příjmení v pátém pádě
Použití:
{{ vokativ 'Jaroslav' }}
Výstup: Jaroslave
Formátování čísla do měny
formatNumber format cultureInfo
Popis: vrátí naformátované číslo jako částku v dané měně
Argumenty:
- format – jak se má číslo naformátovat
- cultureInfo – kód jazyka nebo kultury
Návratová hodnota: naformátovaná částka
Použití:
{{10000 | formatNumber 'C0' 'cs-CZ'}}
Výstup: 10 000 Kč
Zkompletování URL souboru
resolveFileUrl filePath
Popis: k relativní cestě souboru, získaného z galerie, přidá kompletní URL, podle vybraného směrovače na kampani/ transakční šabloně
Argumenty:
- filePath- relativní cesta k souboru z galerie souborů
Návratová hodnota: celá výsledná URL včetně směrovače
Použití:
{{ resolveFileUrl '/files/800800/8dfe6292-493e-4a76-8bd0-d19dfa0cb1a7/velikonoce_boldem.png' }}
Výstup: https://mails.boldem.cz/files/800800/8dfe6292-493e-4a76-8bd0-d19dfa0cb1a7/velikonoce_boldem.png
Kontrola existence obsahu na dané URL
isResponeSuccess url
Popis: zkontroluje zda se na zadané URL obsah nachází nebo ne
Argumenty:
- url – URL adresa tázaného webového obsahu
Návratová hodnota: true/false
Použití:
{{ isResponseSuccess 'https://mails.boldem.cz/files/800800/8dfe6292-493e-4a76-8bd0-d19dfa0cb1a7/velikonoce_boldem.png' }}
Výstup: true
Výpis datového modelu jako JSON
printJson data
Popis: funkce vypíše zadaný datový model jako text, serializovaný jako JSON
Argumenty:
- data – datový model, např. RssFeedItemModel
Návratová hodnota: text
Použití:
{{
mojeData = { "cisloProdejny" : 1 }
printJson mojeData
}}
Výstup: { \"cisloProdejny\" : 1 }
Načtení objednávky
loadOrder orderId
Popis: funkce vrátí data o objednávce vytvořené na vašem eshopu podle ID
Argumenty:
- orderId – ID objednávky v Boldemu
Návratová hodnota: prvek modelu OrderModel
Použití:
{{ orderData = loadOrder 1547 }}
Načtení objednávky podle externího ID
loadOrderByExternalId orderExternalId
Popis: funkce vrátí data o objednávce vytvořené na vašem eshopu podle vašeho ID
Argumenty:
- orderExternalId – ID objednávky z vašeho eshopu
Návratová hodnota: prvek modelu OrderModel
Použití:
{{ orderData = loadOrderByExternalId 1547 }}
Načtení obsahu košíku
loadCart cartId
Popis: funkce vrátí data o vytvořeném košíku (nedokončené objednávce) na vašem eshopu
Argumenty:
- cartId- ID košíku v Boldemu
Návratová hodnota: prvek modelu CartModel
Použití:
{{ cartData = loadCart 458 }}
Načtení obsahu vlastní webové události
loadCustomWebEvent customWebEventId
Popis: funkce vrátí data o vytvořené vlastní události na vašem webu, např. vyplnění formuláře
Argumenty:
- customWebEventId – ID vlastní webové události v Boldemu
Návratová hodnota: prvek modelu CustomWebEventModel
Použití:
{{ customWebEventData = loadCustomWebEvent 458 }}
Generování QR kódů
generateQrFromRaw grText
Popis: funkce generuje QR kód, který bude obsahovat například informace o platebním příkazu (vrací i adresu obrázku), např. platba za objednávku
Argumenty:
- grText – obsahuje text, který bude použit při generování, např. různé informace potřebné pro platební příkaz
Návratová hodnota: směrovač vrací odkaz na url QR kódu
Použití:
{{ qrText = 'SPD*1.0*ACC:' + global.company.ibanBankAccount + '*AM:'+order.priceWithVat+'*CC:'
+order.currencyCode+'*MSG:OBJEDNAVKA '+order.code+'*X-VS:'+order.code}}
{{ qrText }}
{{generateQrFromRaw qrText }}