Podpora pro odesílání slevových kódů pomocí newsletteru
VoucherFeature umožňuje vložit do newsletterů slevové kódy. Kódy se generují v rámci rozesílky (v rámci druhé fáze, kdy je znám adresát).
V případě, že již byl pro daného adresáta a kampaň vygenerován slevový kód, nový kód se negeneruje a vrací se již existující.
Konfigurace
Použití slevového kódu v newsletteru vyžaduje následující konfiguraci v mail modulu:
- Vložení data provideru do mail-modulu
<injectedResources> <voucherCodeMailProvider as="voucherCodeMailProvider" type="com.fg.cps.eshop.voucher.service.mail.VoucherCodeMailProvider"/></injectedResources>- Vložení data provideru a macra do šablony
Do šablony, kde chceme generovat slevové kódy, vložíme data provider a macro:
<freemarkerProcessing> <imports> <import>classpath:/META-INF/lib_eshop_voucher/mail/template/mail-edeeshop-voucher-macros.ftl</import> </imports> <dataProviders> <dataProvider name="voucherCodeMailProvider" bean="voucherCodeMailProvider"/> </dataProviders></freemarkerProcessing>- Přidání data provideru do
superTemplate
Do superTemplate vložíme data provider, který doplní upozornění před rozesílkou (pod klíčem voucher.presend.notification):
<dataProvider name="voucherCodeMailProvider" bean="voucherCodeMailProvider"/>- Přidání widgetu pro výběr slevové akce
Do editačního formuláře newsletteru přidáme widget pro výběr slevové akce:
<voucherMailAutocompletion id="voucher"> <metadata> <catalog>demo</catalog><!-- Kód katalogu, ve kterém se vyhledávají slevové akce --> </metadata></voucherMailAutocompletion>- Definovat messages v rámci mail modulu
Například:
defaultCampaignEditor.voucher.title=Slevová akcedefaultCampaignEditor.voucher.info=Slevová akce, pro kterou se má generovat slevový kód.voucher.presend.notification=V rámci rozesílky budou vygenerovány slevové kódy pro akci <strong>{1}</strong>. Počet dostupných kódů je: <strong>{0}</strong>.voucher.presend.isNotValid=Rozeslat kampaň není možné. Akce <strong>{0}</strong> již není platná.Příklad konfigurace na demu.
Šablona newsletteru
Pro vložení kódu na požadované místo v newsletteru použijte následující kód. Kód musí být generován až v druhé fázi zpracování šablony, a proto musí být vložen do freemarker komentářů:
<#if voucher?has_content> <#--<#assign voucher>-->${voucher}<#--</#assign>--> <#if test?has_content> <#-- <#if (messageBatch?has_content)> <@printVoucherCode voucherId=voucher?number recipient=address.address test=true /> </#if> --> <#else> <#-- <#if (messageBatch.contentId?has_content)> <@printVoucherCode voucherId=voucher?number recipient=address.address campaignId=messageBatch.contentId /> </#if> --> </#if></#if>Ukázková šablona newsletteru je dostupná zde: https://gitlab.fg.cz/edee/eshop/-/blob/dev/eshopdemo/config/module-mail/template/newsletter.ftl
