An event-based Symfony2 Contact Bundle.
$ composer require frequence-web/contact-bundle:1.0.*publicfunctionregisterBundles()
{
returnarray(
// ... Your bundlesnew \FrequenceWeb\Bundle\ContactBundle\FrequenceWebContactBundle(),
);
}This bundle provides some configuration options :
frequence_web_contact:
send_mails: true # True to use the bundle EmailListener that send emails when contact form is submitedto: null # The contact mail recipientfrom: null # The contact mail sendersubject: contact.message.new # The contact mail subject translation keyIf you want to use the default bundle urls, just import the routing file in your application routing:
_frequence_web_contact:
resource: '@FrequenceWebContactBundle/Resources/config/routing.xml'This will create 2 routes, with the same URL (/contact.html), one for displaying the contact form (GET), the other to submit data (POST)
If you want to make a more featured mail listener, or any other listener, you have to define your own.
The dispatched event on success contact form submit is contact.submit, and receive a
FrequenceWeb\Bundle\ContactBundle\EventDispatcher\Event\MessageSubmitEvent.
If you need an example, juste have a look to
FrequenceWeb\Bundle\ContactBundle\EventDispatcher\Listener\EmailContactListener.
If you need more datas that the few ones provided by the Contact class and the ContactType form type, just
override the frequence_web_contact.type.class and frequence_web_contact.model.class configuration parameters,
they are used to instantiate services and can be extended without any limit.
