PodporaZnalostní báze

Filtry a funkce

Filtry jsou prostředky, jak upravit chování šablony v závislosti na vložených datech a funkce slouží pro úpravu jejich obsahu.

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 [% recipient.EMAIL | dont_send -%]. 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:

[% IF recipient.GENDER !== 'F' -%]
    [% 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. 

[% benefit = "" -%]
[% 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 [% 'text předmětu' | set_subject -%]. 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:

[% IF recipient.CITY == 'Praha' -%]
    [% '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ě:

[% 'https://www.vasedomena.cz/obrázky/počítač.jpg' | uri -%]

Výsledná URL po použití filtru bude:
https%3A%2F%2Fwww.vasedomena.cz%2Fobr%C3%A1zky%2Fpo%C4%8D%C3%ADta%C4%8D.jpg

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:

<a href="https://www.vasedomena.cz/stranka?prijemce=[% recipient.EMAIL_MD5 -%]>ODKAZ</a>

Kdyby byla e-mailová adresa příjemce např. jirinovak@mailkit.eu, výsledná URL by byla:
https://www.vasedomena.cz/stranka?prijemce=a3248c6295d90147cd61b3d84db03f5d
 

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:

[% USE Digest.MD5 -%]
<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á):

https://u.mailkit.eu/action,img_cache/width,600/height,300/img_url,https%3A%2F%2Fwww.vasedomena.cz%2Fobr%C3%A1zky
%2Fpo%C4%8D%C3%ADta%C4%8D.jpg

Š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:

<img src="https://u.mailkit.eu/action,img_cache/width,600/height,300/img_url,
[% '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.