Modul umožňuje ukládat konverze do DB a zároveň obsahuje výchozí komponentu pro poptávkový formulář.
// Pole hodnot array ['xyz' => 'abc']
$values = $form->getValues(TRUE);
// Uložení konverze do databáze
$conversion = $this->conversionManager->create('conversionName', new \Nette\Utils\DateTime, $values); // return Conversion;
// Přidej do values data z DB
$values = $values + [
'name' => $conversion->getName(),
'id' => $conversion->getId(),
'createdAt' => $conversion->getCreatedAt('d.m.Y H:i:s')
];
// Odeslání notifikace na e-mail
$this->conversionManager->sendMail($values, 'Poptávkový formulář z Vašeho webu', "Dobrý den,\n\rz Vašeho webu byl právě odeslán kontaktní formulář.");
Přes composer ./sc composer require wakers/cms-conversion-module
-
V souboru app.neon:
./../../vendor/wakers/cms-conversion-module/src/config/config.neon
-
V souboru schema.xml:
<external-schema filename="./../../vendor/wakers/cms-conversion-module/src/schema/conversion.xml" referenceOnly="FALSE"/>
-
V souboru custom-frontend.js:
./vendor/wakers/cms-conversion-module/src/assets/Frontend/conversion/conversion.js
./sc propel model:build
./sc propel migration:diff
./sc propel migration:migrate
-
Zaregistrujeme v presenteru:
use \Wakers\ConversionModule\Component\Frontend\ContactForm\Create;
-
Vytoříme vlastní šablonu
./app/templates/form/contactForm.latte
<form n:name="form">
<label n:name="contact">Telefon / E-mail</label>
<input n:name="contact">
<button n:name="save" data-wakers-progress-button>
CTA Text
</button>
</form>
- Vyrenderujeme vlastní šablonu
{php $presenter->getComponent('appContactForm')->render('./form/contactForm.latte')}
- Nadefinujeme, co se má vykonat po odeslání formuláře:
$.conversionAdd('conversionName', function (conversion) {
// Send to Ads
gtag('event', 'conversion', {
'send_to': 'AW-000000000/xxxxxxxxxxxxxxxxxxxx',
'value': conversion.value,
'currency': conversion.currency
});
// Send goal to Analytics
gtag('event', 'conversion', {
'event_category' : 'form',
'event_label' : 'contact',
'value': conversion.value,
});
// Send to sklik
$('body').append('<iframe width="0" height="0" frameborder="0" scrolling="no" src="//c.imedia.cz/checkConversion?c=000000000&color=ffffff&v=' + conversion.value +'" style="display: none !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important;"></iframe>');
// Send lead to Facebook
fbq('track', 'Lead', {
value: conversion.value,
currency: conversion.currency,
});
// Hide form & show success alert
$('#' + conversion.componentName).toggle('hide').parent().find('.alert.alert-success').toggle('show');
});