Skip to content

Advanced contact form with persisting messages and admin interface

License

Notifications You must be signed in to change notification settings

3BRS/sylius-contact-form-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  1. Run composer require 3brs/sylius-contact-form-plugin.

  2. Register \ThreeBRS\SyliusContactFormPlugin\ThreeBRSSyliusContactFormPlugin in your Kernel.

    // config/bundles.php
    ThreeBRS\SyliusContactFormPlugin\ThreeBRSSyliusContactFormPlugin::class => ['all' => true],
  3. Add resource to config/packages/_sylius.yaml

    imports:
         # ...
         - { resource: "@ThreeBRSSyliusContactFormPlugin/config/config.yml" }
  4. Add routing to config/routes.yaml

    threebrs_sylius_contact_form_plugin:
        resource: "@ThreeBRSSyliusContactFormPlugin/config/routing.yml"
  5. Define parameters in .env file (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=
    
  6. 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 the configuration section in the administration panel) as the manager's email address.

Configuration

 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

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

Setup

Initialize the development environment:

make init

This command installs dependencies, sets up the database, and prepares frontend assets (or follow related steps in Makefile).

Usage

  • Develop your plugin logic inside /src
  • See bin/ for useful dev tools

Testing

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 tests

License

This library is under the MIT license.

Credits

Developed by 3BRS
Forked from manGoweb.

About

Advanced contact form with persisting messages and admin interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •