3brs / sylius-contact-form-plugin
Contact form plugin for Sylius.
Installs: 32
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 2
Open Issues: 1
Type:sylius-plugin
Requires
- php: ^7.3|^8.0
- google/recaptcha: ^1.2
- sylius/sylius: 1.7.*|1.8.*|1.9.*|1.10.*
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- friendsofsymfony/oauth-server-bundle: ^1.6 || >2.0.0-alpha.0 ^2.0@dev
- lakion/mink-debug-extension: ^2.0.0
- phpspec/phpspec: ^7.0
- phpstan/phpstan: 0.12.88
- phpstan/phpstan-doctrine: 0.12.37
- phpstan/phpstan-symfony: ^0.12.7
- phpunit/phpunit: ^8.5
- sensiolabs/security-checker: ^6.0
- sylius-labs/coding-standard: ^4.0.0
- symfony/browser-kit: ^4.4|^5.2
- symfony/debug-bundle: ^4.4|^5.2
- symfony/dotenv: ^4.4|^5.2
- symfony/intl: ^4.4|^5.2
- symfony/web-profiler-bundle: ^4.4|^5.2
This package is auto-updated.
Last update: 2024-10-29 06:25:18 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 3brs/sylius-contact-form-plugin
. -
Register
\ThreeBRS\SyliusContactFormPlugin\ThreeBRSSyliusContactFormPlugin
in your Kernel. -
Add resource to
config/packages/_sylius.yaml
imports: ... - { resource: "@ThreeBRSSyliusContactFormPlugin/Resources/config/config.yml" }
-
Add routing to
config/_routes.yaml
threebrs_sylius_contact_form_plugin: resource: "@ThreeBRSSyliusContactFormPlugin/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
threebrs_sylius_contact_form_plugin:
# 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.