Šablonovací systém

Jaroslav Bouška Jaroslav Bouška
6. dubna 2023

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 dataSourceId

Popis: vrátí produkt podle vašeho externího ID produktu

Argumenty:

  • productExternalId – externí ID produktu
  • dataSourceId – ID datového zdroje (např. Heuréka XML feed), volitený

Návratová hodnota: prvek modelu ProductFeedItemModel

Použití:

{{ item = loadProduct 20 5 }}

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:

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 }}