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í.
Zkopírovat odkaz na sekciKonfigurace
Použití slevového kódu v newsletteru vyžaduje následující konfiguraci v mail modulu:
- Vložení data provideru do mail-modulu
1 <injectedResources>2 <voucherCodeMailProvider as="voucherCodeMailProvider" type="com.fg.cps.eshop.voucher.service.mail.VoucherCodeMailProvider"/>3</injectedResources>
- Vložení data provideru a macra do šablony
Do šablony, kde chceme generovat slevové kódy, vložíme data provider a macro:
1 <freemarkerProcessing>2 <imports>3 <import>classpath:/META-INF/lib_eshop_voucher/mail/template/mail-edeeshop-voucher-macros.ftl</import>4 </imports>5 <dataProviders>6 <dataProvider name="voucherCodeMailProvider" bean="voucherCodeMailProvider"/>7 </dataProviders>8</freemarkerProcessing>
Vzhledem k tomu, že se kódy generují až v rámci druhé fáze, je nutné import a data provider nastavit na messageTemplate (nestačí jen na superTemplate).
- 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):
1 <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:
1 <voucherMailAutocompletion id="voucher">2 <metadata>3 <catalog>demo</catalog><!-- Kód katalogu, ve kterém se vyhledávají slevové akce -->4 </metadata>5</voucherMailAutocompletion>
- Definovat messages v rámci mail modulu
Například:
1 defaultCampaignEditor.voucher.title=Slevová akce2defaultCampaignEditor.voucher.info=Slevová akce, pro kterou se má generovat slevový kód.3voucher.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>.4voucher.presend.isNotValid=Rozeslat kampaň není možné. Akce <strong>{0}</strong> již není platná.
Příklad konfigurace na demu.
Zkopírovat odkaz na sekciŠ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ářů:
1 <#if voucher?has_content>2 <#--<#assign voucher>-->${voucher}<#--</#assign>-->3 <#if test?has_content>4 <#--5 <#if (messageBatch?has_content)>6 <@printVoucherCode voucherId=voucher?number recipient=address.address test=true />7 </#if>8 -->9 <#else>10 <#--11 <#if (messageBatch.contentId?has_content)>12 <@printVoucherCode voucherId=voucher?number recipient=address.address campaignId=messageBatch.contentId />13 </#if>14 -->15 </#if>16</#if>
Ukázková šablona newsletteru je dostupná zde: https://gitlab.fg.cz/edee/eshop/-/blob/dev/eshopdemo/config/module-mail/template/newsletter.ftl