An event-based Symfony2 Contact Bundle.
$ composer require frequence-web/contact-bundle:1.0.*
public function registerBundles()
{
return array(
// ... Your bundles
new \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 submited
to: null # The contact mail recipient
from: null # The contact mail sender
subject: contact.message.new # The contact mail subject translation key
If 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.