uams-web/statamic-form-settings
| Install | |
|---|---|
composer require uams-web/statamic-form-settings |
|
| Latest Version: | v0.1.0 |
| PHP: | ^8.4 |
| Laravel: | 12 · 13 |
| License: | MIT |
| Last Updated: | Oct 29, 2026 |
| Links: | GitHub · Packagist |
Form Settings
A Statamic add-on that extends the Control Panel's form settings screen and what a form does after a submission: notification emails with recipient routing and conditions, a confirmation message or redirect, and restrictions on who can submit and when.
Requirements
PHP 8.4 or later and Statamic 6.35 or later.
Installation
composer require uams-web/statamic-form-settings
Statamic discovers the add-on through Composer. To change its settings, publish the config file:
php artisan vendor:publish --tag=statamic-form-settings-config
Features
Each feature has its own switch in config/statamic-form-settings.php, and all are on by default. Turning one off disables that feature alone; the others keep working. Stored form settings are kept either way, so turning a feature back on restores it as it was.
| Switch | Environment variable | What it covers |
|---|---|---|
control_panel |
FORM_SETTINGS_CONTROL_PANEL |
The added sections on the form settings screen, the email grid's routing, conditions and sender name, and saving them. |
notifications |
FORM_SETTINGS_NOTIFICATIONS |
The notification job: the Active toggle, conditional notifications, recipient routing, the sender name and the email body view. |
confirmations |
FORM_SETTINGS_CONFIRMATIONS |
The message or redirect a visitor sees after submitting. |
restrictions |
FORM_SETTINGS_RESTRICTIONS |
Entry limits, the form schedule and required login, on submit and in the form_restriction tag. |
With notifications on, the add-on points statamic.forms.send_email_job at its own job. A host that has set that option to a job of its own keeps it.
Three more keys adapt the form settings screen to a host: confirmation_page_collections (default ['pages']), article_bard_extra_buttons (default none) and quiz_scoring (FORM_SETTINGS_QUIZ_SCORING, default off, which hides the Quiz Settings section and the quiz merge-tag help). See the wiki's Configuration page.
Templates
The form_restriction tag reports a form's restriction state, so a page can show a closed message instead of the form:
{{ form_restriction handle="contact" }}
{{ if open }}
{{ form:contact }} ... {{ /form:contact }}
{{ else }}
<p>{{ message }}</p>
{{ /if }}
{{ /form_restriction }}
It exposes open, state (open, login_required, pending, expired, schedule_unreadable or limit_reached) and message.
Extending
- Submission context. A notification sent from a queue worker cannot see the submitter's request. A host that keeps that context binds its own implementation of
UAMSWeb\FormSettings\Contracts\SubmissionContext: the job calls it to capture the context when the form is submitted, and again to make that context active while the email is sent. The add-on's default captures nothing. - More settings sections. Another package adds a section to the form settings screen by tagging an implementation of
UAMSWeb\FormSettings\Contracts\FormSettingsSectionwithFormSettingsSection::TAGin its service provider'sregister().
License
MIT. See LICENSE.
Development
Developing against a host application is covered in the development guide, and the Packagist and Marketplace steps in the submission checklist. The gate is composer ci.
Related Packages
CSP-safe Alpine form JavaScript driver for Statamic public forms, with a $showFi...
Automatic table of contents generator for Statamic Bard, Markdown and HTML field...
Per-site forms for multisite Statamic: site assignment, per-site overrides, and...
Version History
| Version | Released | PHP | License |
|---|---|---|---|
| v0.1.0 | ^8.4 |