Form Template Processor for ProcessWire
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


ProcessWire FormTemplateProcessor module


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:,75.0.html

Designed for use with ProcessWire 2.0 or 2.1


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. 


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 = ''; // 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 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;