FormTemplateProcessor by Ryan Cramer

Proof-of-concept module to let you use templates as web contact forms. Can send you email and/or save the submission to a page in your site. Intended to be a starting point and proof-of-concept, so you may want to take this further.

ProcessWire FormTemplateProcessor module

Overview:
=========

Module to let you use templates as web contact forms.
Can send you email and/or save the submission to a page in your site.
Intended to be a starting point and proof-of-concept, so you may
want to take this further.

For more information:
http://processwire.com/talk/index.php/topic,75.0.html

Designed for use with ProcessWire 2.0 or 2.1
http://processwire.com

Installation:
=============

1. Place FormTemplateProcessor.module in your site/modules/ directory.
2. Login to ProcessWire admin and click to Modules.
3. Click "Check for new modules".
4. Click "install" next to the new FormTemplateProcessor module.

Usage:
======

1. In admin, create the fields you want to be part of the form.
2. Create a new template and assign your fields to this template.
3. Create another template for your contact form page (if you don't already have one).
4. Use the example below as a starting point for this contact form page:

$form = $modules->get('FormTemplateProcessor');
$form->template = $templates->get('my_contact_form_template'); // required
$form->requiredFields = array('fullname', 'email');
$form->email = 'your@email.com'; // optional, sends form as email
$form->parent = $page; // optional, saves form as page
echo $form->render(); // draw form or process submitted form

5. Use CSS to style the fields. See below for a suggested starting point:

.Inputfields,
.Inputfields li {
list-style: none;
margin: 1em 0;
padding: 0;
}

.Inputfields li label {
font-weight: bold;
}

.Inputfields li p {
margin: 0;
}

.Inputfields li p.description {
font-style: italic;
}

.Inputfields textarea,
.Inputfields .InputfieldMaxWidth {
width: 100%;
}

.Inputfields .InputfieldSubmit label {
display: none;
}

.ui-state-error-text {
color: red;
}



Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021
  • This week we have a new master version released after a year in the making. With nearly 40 pull requests, hundreds of new additions and more than 100 issue reports resolved, this new version has a ton of great new stuff— More
    27 August 2021

Latest news

  • ProcessWire Weekly #384
    In the 384th issue of ProcessWire Weekly we'll cover the latest core updates, introduce a new module called Session Allow, and highlight a new site of the week. Read on!
    Weekly.pw / 18 September 2021
  • ProcessWire 3.0.184 new master/main version
    This week we have a new master/main version released after a full year in the making. As you might imagine, this new version has a ton of great new stuff and we’ll try to cover much of it here.
    Blog / 27 August 2021
  • Subscribe to weekly ProcessWire news

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.