wakers / cms-conversion-module
Conversion module with simple abstract contactForm component
This package is auto-updated.
Last update: 2024-11-29 06:12:17 UTC
README
Modul umožňuje ukládat konverze do DB a zároveň obsahuje výchozí komponentu pro poptávkový formulář.
API
// 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ář.");
Minimální konfigurace
Instalace
Přes composer ./sc composer require wakers/cms-conversion-module
Připojíme soubory
-
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
Aktualizujeme databázi
./sc propel model:build
./sc propel migration:diff
./sc propel migration:migrate
Připravíme komponentu
-
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'); });