FormBuilderProcessor::emailFormResponderReady() method
Hook called before email is sent to autoresponder, see details for example
Example of hooking this method and adding a file attachment to an auto-responder email. In this case, a user subscribes to a list and receives a bonus article PDF file in their confirmation email:
This protected method is for hooks to monitor and it is likely not intended to be called directly.
Example
$forms->addHook('FormBuilderProcessor::emailFormResponderReady', function($e) {
$form = $e->arguments(0); // or arguments('form')
$mailer = $e->arguments(1); // or arguments('email')
if($form->name == 'subscribe') {
$mailer->addFileAttachment('/path/to/bonus-article.pdf');
}
}); Internal usage
$bool = $processor->emailFormResponderReady(InputfieldForm $form, FormBuilderEmail $email);Arguments
| Name | Type(s) | Description |
|---|---|---|
$form | InputfieldForm | |
$email | FormBuilderEmail |
Return value
boolSet to false to cancel responder 0.5.3+
Hooking $processor→emailFormResponderReady(…)
You can add your own hook events that are executed either before or after the $processor->emailFormResponderReady(…) method is executed. Examples of both are included below. A good place for hook code such as this is in your /site/ready.php file.
Hooking before
The 'before' hooks are called immediately before each $processor->emailFormResponderReady(…) method call is executed. This type of hook is especially useful for modifying arguments before they are sent to the method.
$this->addHookBefore('FormBuilderProcessor::emailFormResponderReady', function(HookEvent $event) {
// Get the object the event occurred on, if needed
$FormBuilderProcessor = $event->object;
// Get values of arguments sent to hook (and optionally modify them)
$form = $event->arguments(0);
$email = $event->arguments(1);
/* Your code here, perhaps modifying arguments */
// Populate back arguments (if you have modified them)
$event->arguments(0, $form);
$event->arguments(1, $email);
}); Hooking after
The 'after' hooks are called immediately after each $processor->emailFormResponderReady(…) method call is executed. This type of hook is especially useful for modifying the value that was returned by the method call.
$this->addHookAfter('FormBuilderProcessor::emailFormResponderReady', function(HookEvent $event) {
// Get the object the event occurred on, if needed
$FormBuilderProcessor = $event->object;
// An 'after' hook can retrieve and/or modify the return value
$return = $event->return;
// Get values of arguments sent to hook (if needed)
$form = $event->arguments(0);
$email = $event->arguments(1);
/* Your code here, perhaps modifying the return value */
// Populate back return value, if you have modified it
$event->return = $return;
}); $processor methods and properties
API reference based on ProcessWire core version 3.0.252