- This module provides a contact form based on ZF2 and Doctrine2.
- Submitted contact forms will persist in repository.
- Captcha support is provided to force submitting by humans.
- Views are twitter-Bootstrap compatible.
The recommended way to install
mamuz/mamuz-contact
is through
composer by adding dependency to your composer.json
:
{
"require": {
"mamuz/mamuz-contact": "*"
}
}
After that run composer update
and enable this module for ZF2 by adding
MamuzContact
to modules
in ./config/application.config.php
:
// ...
'modules' => array(
'MamuzContact',
),
This module is based on DoctrineORMModule
and be sure that you have already configured database connection.
Create database tables with command line tool provided by
DoctrineORMModule
:
./vendor/bin/doctrine-module orm:schema-tool:update
This module is usable out of the box, but you can overwrite default configuration
by adding a config file in ./config/autoload
directory.
For default configuration see
module.config.php
Create a new config file and place it to ./config/autoload
directory and
insert configuration array for Zend Captcha form element factory.
Array must be indexed by key captcha
, for e.g.:
return array(
'captcha' => array(
'type' => 'Zend\Form\Element\Captcha',
'name' => 'captcha',
'options' => array(
'label' => 'Please verify you are human',
'captcha' => array(
'class' => 'recaptcha',
'options' => array(
'pubkey' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'privkey' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
),
),
),
'attributes' => array(
'required' => 'required'
),
),
);
Register your domain to Google ReCaptcha WebService
to
create a private key and a public key. Be sure that private key will not commit to VCS.
After filtering and validation of user input a new contact entity
will persist in repository MamuzContact
.
For the sake of simplicity Event
is used for
FQN MamuzContact\EventManager\Event
.
The following events are triggered by Event::IDENTIFIER
mamuz-contact:
Name | Constant | Description |
---|---|---|
persist.pre | Event::PRE_PERSISTENCE |
Before contact entity persistence |
persist.post | Event::POST_PERSISTENCE |
After contact entity persistence |