Filtry
Funkce
Pro další pokročilé funkce v šablonách lze využít plug-iny.
Filtry
dont_send
Tento filtr umožnuje přeskočení příjemců při rozesílání. Zapisuje se:
Na jednoduchém příkladu si ukážeme, jak by vypadal zápis filtru v případě, že bychom e-mail chtěli odeslat pouze ženám. Filtr by vypadal takto:
[% recipient.EMAIL | dont_send -%]
[% END -%]
Dalším příkladem použití je případ, kdy v datovém zdroji, který je v šabloně zpracováván a má z něj být doplněna hodnota pro každého příjemce, hodnota pro konkrétního příjemce není a tudíž by na tohoto příjemce e-mail neměl být odeslán.
[% FOREACH zaznam IN data.DS_XML_BENEFIT.prijemce -%]
[% IF zaznam.email == recipient.EMAIL -%]
[% benefit = zaznam.benefit -%]
[% END -%]
[% END -%]
[% IF benefit -%]
Benefit: [% benefit -%]
[% ELSE -%]
[% recipient.EMAIL | dont_send -%]
[% END -%]
V tomto případě je k šabloně připojen XML datový zdroj s příjemci – jejich e-mailovou adresou a druhem benefitu. V případě, že příjemce nemá benefit, e-mail se nepošle.
set_subject
Tímto filtrem můžete nastavit předmět zprávy. Zapisuje se:
Pokud byste chtěli v kampani použít předmět “Dobré ráno!” a chtěli v něm zohlednit město uložené v detailu příjemce, vypadal by zápis takto:
[% 'Dobré ráno do Prahy!' | set_subject -%]
[% ELSIF recipient.CITY == 'Brno' -%]
[% 'Dobré ráno do Brna!' | set_subject -%]
[% ELSE %]
[% 'Dobré ráno!' | set_subject -%]
[% END -%]
Pak všem, kdo mají v seznamu příjemců v poli “město” vyplněno Praha, nebo Brno, přijde zpráva s předmětem “Dobré ráno do Prahy!”/”Dobré ráno do Brna!”, ostatním příjemcům (kteří mají vyplněné jiné město, nebo mají pole prázdné), přijde zpráva s předmětem “Dobré ráno!”.
uri
Tento filtr lze použít ve chvíli, kdy URL obsahuje nestandardní znaky, které je potřeba převést to kódu, například při použití funkce img_cache. Používá se následovně:
Výsledná URL po použití filtru bude:
MD5
Někdy je potřeba přenést data, která by neměla být přenášena v běžné podobě. Jedná se např. o osobní údaje, jako je e-mailová adresa. Typickým příkladem může být situace, kdy chcete na své straně zjistit, kdo kliknul na odkaz v e-mailu, a tak do URL odkazu přidáte parametr s e-mailovou adresou. V Mailkitu lze hashovat data pomocí MD5 takto:
proměnná EMAIL_MD5
Ve zmíněném případě e-mailové adresy příjemce není potřeba použití filtru, jelikož Mailkit nabízí proměnnou EMAIL_MD5, která se nachází v datové struktuře příjemce. Použití v šabloně by vypadalo takto:
Kdyby byla e-mailová adresa příjemce např. jirinovak@mailkit.eu, výsledná URL by byla:
md5_hex
Pokud je potřeba hashovat jiná data, než je e-mailová adresa, lze použít filtr | md5_hex. V případě, že by bylo nutné hashovat např. obsah pole CUSTOM1 u příjemce a použít jej v URL, dá se to udělat tímto způsobem:
<a href="https://www.vasedomena.cz/stranka?obsah_pole=[% recipient.CUSTOM1 | md5_hex -%]>ODKAZ</a>
Funkce
img_cache
Pokud chcete v šabloně použít obrázky, které jsou příliš velké, umístěné na serveru s pomalou odezvou nebo jen nemáte server připravený na očekávanou zátěž, lze využít funkci img_cache. Tato funkce umožňuje manipulovat s velikostí obrázku a cachovat obrázky na našich serverech.
Používá se jako URL, do které se zadají tři parametry (všechny jsou povinné):
- Šířka v pixelech
- Výška v pixelech
- URL obrázku enkódovaná pro URI
Příklad: Z obrázku 1000×500 px umístěného na https://www.vasedomena.cz/obrázky/počítač.jpg lze použitím funkce udělat obrázek 600×300 px umístěný na našich serverech takto (v tomto případě je URL obrázku již enkódovaná):
Šedá část je použití funkce, červená je parametr šířky, zelená je parametr výšky a modrá sekce je parametr URL obrázku.
URL musí být vždy v podobě “enkódování pro URI” - což znamená, že všechny “nestandardní” znaky se přeloží do kódu. V šabloně lze pro enkódování URL použít filtr | uri, tímto způsobem:
[% 'https://www.vasedomena.cz/obrázky/počítač.jpg' | uri -%]" />
Obrázek je změněn proporcionálně (nedochází tedy k deformaci), a změna velikosti probíhá podle výšky. V případě, že by obrázek 1000×500 px měl být zmenšen použitím parametrů width,600/height,100/, výsledné rozměry obrázku budou 200×100 px.