- Extend contact form
- Add a ReCaptcha Verification to the contact form (only supports invisible ReCaptcha V2)
- Add Message administrative panel
- conversation history
- Possibility to respond instantly
-
Run
composer require 3brs/sylius-contact-form-plugin. -
Register
\ThreeBRS\SyliusContactFormPlugin\ThreeBRSSyliusContactFormPluginin your Kernel.// config/bundles.php ThreeBRS\SyliusContactFormPlugin\ThreeBRSSyliusContactFormPlugin::class => ['all' => true],
-
Add resource to
config/packages/_sylius.yamlimports: # ... - { resource: "@ThreeBRSSyliusContactFormPlugin/config/config.yml" }
-
Add routing to
config/routes.yamlthreebrs_sylius_contact_form_plugin: resource: "@ThreeBRSSyliusContactFormPlugin/config/routing.yml"
-
Define parameters in
.envfile (or whenever you keep your environment variables):# Recaptcha public key setter for contact form GOOGLE_RECAPTCHA_SITE_KEY= # Recaptcha secret key setter for contact form GOOGLE_RECAPTCHA_SECRET= -
Create and run doctrine database migrations.
For the guide how to use your own entity see Sylius docs - Customizing Models
- Parameters can be left empty if you want to run the plugin without recaptcha verification.
- The plugin is made to work with invisible V2 recaptcha, it is essential to select this version during their creation.
- The plugin defines the contact email of the channel (configurable in the
Channelstab of theconfigurationsection in the administration panel) as the manager's email address.
threebrs_sylius_contact_form_plugin:
# Define if an email should be sent to the manager when contact form is send
send_manager_mail: true/false
# Define if an email should be sent to the customer when contact form is send (copy)
send_customer_mail: true/false
# Define 'name' field requirement in contact form
name_required: true/false
# Define 'phone' field requirement in contact form
phone_required: true/false- Log into admin panel as administrator or account panel as registered customer
- Go into
Messagessection - Select the conversation you want to answer to
- Write your reply message
- Click
Sendbutton below
Initialize the development environment:
make initThis command installs dependencies, sets up the database, and prepares frontend assets (or follow related steps in Makefile).
- Develop your plugin logic inside
/src - See
bin/for useful dev tools
After your changes you must ensure that the tests are still passing.
make tests
# Or run individual commands:
make static # phpstan, ecs, lint
make behat # behat testsThis library is under the MIT license.