Skip to content

Victoire/WidgetFormBundle

Repository files navigation

CircleCI

Victoire Form Bundle

What is the purpose of this bundle

This bundle gives you access to the Form Widget. With this widget, you can install any contact form.

Set Up Victoire

If you haven't already, you can follow the steps to set up Victoire here

Install the Bundle :

Run the following composer command :

php composer.phar require victoire/form-widget

Do not forget to add the bundle in your AppKernel!

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            ...
            new Victoire\Widget\FormBundle\VictoireWidgetFormBundle(),
            new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
        );

        return $bundles;
    }
}

Inject Data before send mail

When widget is configure to send mail with form data, you can inject some other data before send mail.

Create a EventLister :

<?php
namespace AppBundle\EventListener;

use Symfony\Component\EventDispatcher\Event;

class WidgetFormListener
{
    public function injectData(Event $event)
    {
        $event->prependData('new label', 'before post data');
        $event->appendData('another label', 'after post data');
    }
}

Declare listener in Service :

#service.yml

widget_form_listener:
    class: AppBundle\EventListener\WidgetFormListener
    tags:
        - { name: kernel.event_listener, event: victoire.widget_form.pre_send_mail, method: injectData }

Use reCAPTCHA

ReCAPTCHA is a free CAPTCHA service that protects websites from spam and abuse.

Parameters

To use reCAPTCHA on your website, you'll need to :

    victoire_widget_form.recaptcha_public_key: XXXXXX
    victoire_widget_form.recaptcha_private_key: XXXXXX