Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wakerscz/cms-conversion-module

Modul umožňuje ukládat konverze do DB a zároveň obsahuje výchozí komponentu pro poptávkový formulář.
https://github.com/wakerscz/cms-conversion-module

Last synced: about 2 months ago
JSON representation

Modul umožňuje ukládat konverze do DB a zároveň obsahuje výchozí komponentu pro poptávkový formulář.

Awesome Lists containing this project

README

        

# Conversion module
Modul umožňuje ukládat konverze do DB a zároveň obsahuje výchozí komponentu pro poptávkový formulář.

## API
```php
// 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
1. V souboru app.neon:
`./../../vendor/wakers/cms-conversion-module/src/config/config.neon`

1. V souboru schema.xml:
``

1. V souboru custom-frontend.js:
`./vendor/wakers/cms-conversion-module/src/assets/Frontend/conversion/conversion.js`

### Aktualizujeme databázi
1. `./sc propel model:build`
1. `./sc propel migration:diff`
1. `./sc propel migration:migrate`

### Připravíme komponentu
1. Zaregistrujeme v presenteru:
`use \Wakers\ConversionModule\Component\Frontend\ContactForm\Create;`

1. Vytoříme vlastní šablonu `./app/templates/form/contactForm.latte`
```latte

Telefon / E-mail


CTA Text

```

1. Vyrenderujeme vlastní šablonu
```latte
{php $presenter->getComponent('appContactForm')->render('./form/contactForm.latte')}
```

1. Nadefinujeme, co se má vykonat po odeslání formuláře:
```javascript
$.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('');

// 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');
});
```