mangoweb-sylius / sylius-contact-form-plugin
Contact form plugin for Sylius.
Installs: 11 645
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 4
Forks: 3
Open Issues: 0
Type:sylius-plugin
Requires
- php: ^7.2
- google/recaptcha: ^1.2
- sylius/sylius: ^1.5
Requires (Dev)
- behat/behat: ^3.4
- behat/mink: ^1.7@dev
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.0
- friends-of-behat/variadic-extension: ^1.1
- lakion/mink-debug-extension: ^1.2.3
- phpspec/phpspec: ^5.0
- phpstan/phpstan-doctrine: ^0.10
- phpstan/phpstan-shim: ^0.10
- phpstan/phpstan-webmozart-assert: ^0.10
- phpunit/phpunit: ^6.5
- sensiolabs/security-checker: ^5.0
- sylius-labs/coding-standard: ^2.0
- symfony/browser-kit: ^3.4|^4.1
- symfony/debug-bundle: ^3.4|^4.1
- symfony/dotenv: ^4.2
- symfony/intl: ^3.4|^4.1
- symfony/web-profiler-bundle: ^3.4|^4.1
- symfony/web-server-bundle: ^3.4|^4.1
Conflicts
- symfony/browser-kit: 4.1.8
- symfony/dependency-injection: 4.1.8
- symfony/dom-crawler: 4.1.8
- symfony/routing: 4.1.8
- symfony/symfony: 4.1.8
This package is auto-updated.
Last update: 2021-11-29 13:41:30 UTC
README
Contact Form Plugin
Features
- 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
Installation
-
Run
$ composer require mangoweb-sylius/sylius-contact-form-plugin
. -
Add plugin classes to your
config/bundles.php
:return [ ... MangoSylius\SyliusContactFormPlugin\MangoSyliusContactFormPlugin::class => ['all' => true], ];
-
Add resource to
config/packages/_sylius.yaml
imports: ... - { resource: "@MangoSyliusContactFormPlugin/Resources/config/config.yml" }
-
Add routing to
config/_routes.yaml
mango_sylius_contact_form: resource: "@MangoSyliusContactFormPlugin/Resources/config/routing.yml"
-
Define parameters in
.env
file# 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
Usage
- 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
Channels
tab of theconfiguration
section in the administration panel) as the manager's email address.
Configuration
mango_sylius_contact_form:
# Define if an email should be send to the manager when contact form is send
send_manager_mail: true/false
# Define if an email should be send 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
Usage
- Log into admin panel as administrator or account panel as registered customer
- Go into
Messages
section - Select the conversation you want to answer to
- Write your reply message
- Click
Send
button below
Development
Usage
- Create symlink from .env.dist to .env or create your own .env file
- Develop your plugin in
/src
- See
bin/
for useful commands
Testing
After your changes you must ensure that the tests are still passing.
$ composer install
$ bin/console doctrine:schema:create -e test
$ bin/behat.sh
$ bin/phpstan.sh
$ bin/ecs.sh
License
This library is under the MIT license.
Credits
Developed by manGoweb.