Events & Hooks
Sprout Forms can be extended using the following Events and Hooks.
Events
Before a Form Entry is saved
Raised before an entry is saved.
use barrelstrength\sproutforms\services\Entries; use barrelstrength\sproutforms\elements\Entry; use barrelstrength\sproutforms\events\OnBeforeSaveEntryEvent; public function init() { parent::init(); Event::on(Entries::class, Entry::EVENT_BEFORE_SAVE, function(OnBeforeSaveEntryEvent $event) { if (Craft::$app->request->isSiteRequest) { // A Form Entry Element has been saved from a Front-end Form Submission // Access the Form Entry Element via: $event->sender } if (Craft::$app->request->isCpRequest) { // A Form Entry Element has been updated from the Control Panel // Access the Form Entry Element via: $event->sender } }); }
Params
- entry – The submitted SproutForms_EntryModel
- isNewEntry - A boolean indicating whether this is a brand new form entry
After a Form Entry is Saved
Raised just after an entry is saved
use barrelstrength\sproutforms\elements\Entry; use yii\base\Event; use Craft; public function init() { parent::init(); Event::on(Entry::class, Entry::EVENT_AFTER_SAVE, function(Event $event) { if (Craft::$app->request->isSiteRequest) { // The Form Entry Element is available via the $event->sender attribute $formEntryElement = $event->sender; } if (Craft::$app->request->isCpRequest) { $formEntryElement = $event->sender; } }); }
Params
- entry – The submitted SproutForms_EntryModel
- isNewEntry - A boolean indicating whether this is a brand new form entry
Hooks
Template Hook
The sproutForms.modifyForm
Template Hook gives plugins a chance to dynamically add content to a form template. The hook will output content between the <form>
tags when using the displayForm
tag.