3brs/sylius-contact-form-plugin

Contact form plugin for Sylius.

This package is auto-updated.

Last update: 2024-03-29 04:39:49 UTC


README

68747470733a2f2f33627273312e667261312e63646e2e6469676974616c6f6365616e7370616365732e636f6d2f336272732f6c6f676f2f334252532d6c6f676f2d73796c6975732d3230302e706e67

Contact Form Plugin
68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f336272732f73796c6975732d636f6e746163742d666f726d2d706c7567696e2e737667 68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f336272732f73796c6975732d636f6e746163742d666f726d2d706c7567696e2e737667 68747470733a2f2f636972636c6563692e636f6d2f67682f334252532f73796c6975732d636f6e746163742d666f726d2d706c7567696e2e7376673f7374796c653d736869656c64

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

contact_form.PNG

messages_management_admin_menu.PNG

messages_management_admin_answer_menu.PNG

messages_management_account_menu.PNG

Installation

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

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

  3. Add resource to config/packages/_sylius.yaml

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

    threebrs_sylius_contact_form_plugin:
        resource: "@ThreeBRSSyliusContactFormPlugin/Resources/config/routing.yml"
  5. 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=
    
  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 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 3BRS
Forked from manGoweb.