Git Product home page Git Product logo

craft-contact-form-tuner's Introduction

Contact Form Tuner icon

Contact Form Tuner

This Craft CMS plugin extends functionality offered by the official Contact Form plugin by allowing you to:

  • Control Cc recipients
  • Control Bcc recipients
  • Control Reply-To recipients
  • Force plain text only emails
  • Use a custom template for the plain text email body
  • Use a custom template for the HTML email body

Contents

Configuration

All settings for this plugin can be configured from the Control Panel under Settings → Contact Form Tuner. You can also configure the plugin programmatically by creating a contact-form-tuner.php file in your config/ folder. This file supports Craft's standard multi-environment configurations, and any values defined here will override those set via the Control Panel.

Here is a sample config file along with a list of all possible settings and their default values:

<?php

return [
    'ccEmail'       => '',      // e.g. '[email protected]' or ['[email protected]', '[email protected]']
    'ccName'        => '',
    'bccEmail'      => '',
    
    'hideReplyTo'   => false,
    'replyToEmail'  => '',      // leaving this empty preserves the reply-to set by Contact Form
    'replyToName'   => '',
    
    'textOnly'      => false,   // enabling this forces the email to be sent in plain text only
    
    'textTemplate'  => '',      // templates have access to submitted values
    'htmlTemplate'  => '',      // such as `fromName`, `fromEmail`, `subject` and `message`
];

Installation

You can install this plugin from the Plugin Store or with Composer.

From the Plugin Store

Go to the Plugin Store in your project’s Control Panel and search for “Contact Form Tuner”. Then click on the “Install” button in its modal window.

Using Composer

Open your terminal and run the following commands:

# go to the project directory
cd /path/to/project

# tell composer to use the plugin
composer require miranj/craft-contact-form-tuner

# tell Craft to install the plugin
./craft plugin/install contact-form-tuner

Requirements

This plugin requires Craft CMS 3, 4, or 5 and the Contact Form plugin (v2.0, v3.0 or later).


Brought to you by Miranj

craft-contact-form-tuner's People

Contributors

boboldehampsink avatar rungta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

boboldehampsink

craft-contact-form-tuner's Issues

Splitting names by comma causes problems

I have had a visitor that put its name like "Lastname, Firstname". Because of the comma splitting in Settings.php it makes two names out of it (with one email). It gives me this error:

ValueError: array_fill(): Argument #2 ($count) must be greater than or equal to 0
  File "/app/vendor/miranj/craft-contact-form-tuner/src/models/Settings.php", line 117, in array_fill
    $names = array_merge($names, array_fill(0, count($emails) - count($names), ''));
  File "/app/vendor/miranj/craft-contact-form-tuner/src/models/Settings.php", line 117, in miranj\contactformtuner\models\Settings::prepEmailConfig
    $names = array_merge($names, array_fill(0, count($emails) - count($names), ''));
  File "/app/vendor/miranj/craft-contact-form-tuner/src/models/Settings.php", line 54, in miranj\contactformtuner\models\Settings::getCcConfig
    $emails = $this->prepEmailConfig($this->ccEmail, $this->ccName);

It should handle this more properly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.