PHPackages                             rias/craft-simple-forms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. rias/craft-simple-forms

AbandonedCraft-plugin[Utility &amp; Helpers](/categories/utility)

rias/craft-simple-forms
=======================

Forms, made simple

0308PHPCI failing

Since Nov 6Pushed 5y ago2 watchersCompare

[ Source](https://github.com/Marbles/craft-simple-forms)[ Packagist](https://packagist.org/packages/rias/craft-simple-forms)[ RSS](/packages/rias-craft-simple-forms/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (3)Versions (12)Used By (0)

Simple Forms
============

[](#simple-forms)

*Forms in Craft, made easy*

This is a Craft 3 port of the popular Craft 2 a&amp;m impact forms plugin. **Please do not use this yet**

Below is the original README

CP functionality
----------------

[](#cp-functionality)

When users have permission to access the plugin, they can do various stuff in the CP. There's an extra setting that'll allow users to control the plugin's settings.

### Forms

[](#forms)

You're able to activate submissions and / or notifications. This means you could choose to ignore the submissions if you want to, but only receive notifications when a form was submitted.

[![NewForm](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/newform.png "NewForm")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/newform.png)

Notifications are activated, and all information will be filled out by default. The **Sender name** and **email addresses** fields will automatically contain the information from your email settings in Craft's CP.

[![Notifications](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/notifications.png "Notifications")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/notifications.png)

The plugin will use it's own templates to display forms and email submissions. You have the option to override these templates in general **or** per form! Just create your own folder in the templates folder (e.g.: \_amforms) and create a template that you would like to override. You can see the default template names in the placeholders, so if you create your own template with the same name, you could choose to make this your default templates for all your forms. When you create a template with a different name, you could create a template per form.

**This tab is only available to admins.**

[![Templates](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/templates.png "Templates")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/templates.png)

### Fields

[](#fields)

When you install the plugin, you get some commonly used fields by default. The fields that are created are stored in a different context / scope than Craft's fields. This means that you're able to reuse these fields in any form and that they won't be shown in Craft's field list.

[![Fields](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/fields.png "Fields")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/fields.png)

### Export

[](#export)

You have the option to export your submissions per form. You'll be able to choose which fields you'd like to be included in your export (Matrix supported!). When you create an export, it'll start a task that export your submissions into a file located in your storage folder. When it's done, you're able to download the file or restart the export.

[![NewExport](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/newexport.png "NewExport")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/newexport.png)

[![ExportCriteria](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/exportcriteria.png "ExportCriteria")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/exportcriteria.png)

[![ExportOverview](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/exportoverview.png "ExportOverview")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/exportoverview.png)

### Settings

[](#settings)

By default, the anti-spam is activated for your forms, but there's also an option to activate Google reCAPTCHA.

[![General](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/general.png "General")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/general.png)

[![Exports](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/exports.png "Exports")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/exports.png)

[![AntiSpam](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/antispam.png "AntiSpam")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/antispam.png)

[![reCAPTCHA](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/recaptcha.png "reCAPTCHA")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/recaptcha.png)

### Automatic clean up

[](#automatic-clean-up)

To automatically delete old submissions, enable **Clean up submissions**, configure the threshold (e.g. `-4 weeks`) and set up a cronjob to periodically call `https:///actions/simple-forms/submissions/clean-up`. **Example `/etc/crontab` entry** (cleans up every day at 1:23 AM):

```
23 1 * * * root curl -s https:///actions/simple-forms/submissions/clean-up &>> /var/log/simple-forms-cleanup.log

```

Display your forms
------------------

[](#display-your-forms)

### Simple tag

[](#simple-tag)

This will only display basic fields!

```
{{ craft.amForms.displayForm('formHandle') }}

```

### Simple field tag

[](#simple-field-tag)

```
{% set form = craft.amForms.getForm('formHandle') %}

{{ form.displayField('fieldHandle') }}

```

### Simple field tag (using a namespace)

[](#simple-field-tag-using-a-namespace)

```
{% set form = craft.amForms.getForm('formHandle') %}

{{ form.displayField('fieldHandle') }}

```

### Custom HTML

[](#custom-html)

```

    {{ getCsrfInput() }}

    {# This should always be here! #}

    {# Insert your form's handle. #}

    {# Optional: Redirect URL. Will redirect to current page by default. #}

    {# Optional: Anti-spam protection. #}
    {{ craft.amForms.displayAntispam() }}

    {# Optional: Google reCAPTCHA protection. #}
    {{ craft.amForms.displayRecaptcha() }}

    {# Place the HTML of your fields here #}

```

### Custom HTML with displayField

[](#custom-html-with-displayfield)

```
{% set form = craft.amForms.getForm('formHandle') %}

    {{ getCsrfInput() }}

    {# This should always be here! #}

    {# Insert your form's handle. #}

    {# This will namespace your inputs (for IDs and such), but it's not required though #}

    {# Optional: Anti-spam protection. #}
    {{ craft.amForms.displayAntispam() }}

    {# Optional: Google reCAPTCHA protection. #}
    {{ craft.amForms.displayRecaptcha() }}

    {# Place the HTML of your fields here #}
    {{ form.displayField('fieldHandle') }}
    {{ form.displayField('aFieldHandle') }}
    {{ form.displayField('anotherFieldHandle') }}

```

### Custom field HTML

[](#custom-field-html)

Change **formHandle** to your form's handle.

```

    Comment

    {% if formHandle is defined %}
        {{ errorList(formHandle.getErrors('comment')) }}
    {% endif %}

```

### Custom Matrix field

[](#custom-matrix-field)

```

    {#
        Notify Craft which Matrix block (handle) will be inserted.

        Our field name for this example is: Persons
        Our block name for this example is: Person
    #}

    {# Block fields #}
    First name

    Last name

    {% if formHandle is defined %}
        {{ errorList(formHandle.getErrors('persons')) }}
    {% endif %}

```

### Errorlist macro

[](#errorlist-macro)

```
{% macro errorList(errors) %}
    {% if errors %}

            {% for error in errors %}
                {{ error }}
            {% endfor %}

    {% endif %}
{% endmacro %}

```

If you want to include it on the template itself, use:

```
{% from _self import errorList %}

```

Dashboard widget
----------------

[](#dashboard-widget)

Display your recent submissions on your dashboard.

[![WidgetSettings](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/widgetsettings.png "WidgetSettings")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/widgetsettings.png)

[![WidgetSmall](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/widgetsmall.png "WidgetSmall")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/widgetsmall.png)

[![WidgetBig](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/widgetbig.png "WidgetBig")](https://raw.githubusercontent.com/am-impact/am-impact.github.io/master/img/readme/amforms/widgetbig.png)

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Recently: every ~22 days

Total

11

Last Release

2688d ago

Major Versions

1.0.7 → 2.02019-02-11

### Community

Maintainers

![](https://www.gravatar.com/avatar/dbd355ba9a931da845b0c4ff59a974dab98f829d567bb8c5ff435c823dfa255e?d=identicon)[riasvdv](/maintainers/riasvdv)

---

Top Contributors

[![kjellknapen](https://avatars.githubusercontent.com/u/13765389?v=4)](https://github.com/kjellknapen "kjellknapen (4 commits)")

### Embed Badge

![Health badge](/badges/rias-craft-simple-forms/health.svg)

```
[![Health](https://phpackages.com/badges/rias-craft-simple-forms/health.svg)](https://phpackages.com/packages/rias-craft-simple-forms)
```

###  Alternatives

[spicyweb/craft-neo

A Matrix-like field type with block hierarchy

393808.8k10](/packages/spicyweb-craft-neo)[craftcms/feed-me

Import content from XML, RSS, CSV or JSON feeds into entries, categories, Craft Commerce products, and more.

292943.4k27](/packages/craftcms-feed-me)[verbb/formie

The most user-friendly forms plugin for Craft.

100387.6k59](/packages/verbb-formie)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

53675.5k17](/packages/solspace-craft-freeform)[verbb/navigation

Create navigation menus for your site.

92698.4k18](/packages/verbb-navigation)[verbb/workflow

Enforce multi-step review processes for creating entries.

138123.0k1](/packages/verbb-workflow)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
