Line 1: | Line 1: | ||
− | FlexForm can be extended by a PHP function to handle additional tasks after a Form has been submitted. | + | '''FlexForm''' can be extended by a PHP function to handle additional tasks after a Form has been submitted. |
Start a FlexForm and tell it to use your extension : | Start a FlexForm and tell it to use your extension : | ||
Line 8: | Line 8: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Create a folder in FlexForm/src/Modules/Handlers with the name of your extension. | + | Create a folder in <code>FlexForm/src/Modules/Handlers</code> with the name of your extension. |
− | In this folder create a file called PostHandler.php with the following namespace : | + | In this folder create a file called <code>PostHandler.php</code> with the following namespace : |
<syntaxhighlight lang="html"> | <syntaxhighlight lang="html"> | ||
namespace FlexForm\Modules\Handlers\< your extension name = same as folder name >; | namespace FlexForm\Modules\Handlers\< your extension name = same as folder name >; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Your extension will be | + | Your extension will be based on the '''HandlerInterface''' interface and will only hold one method : execute |
− | The array $flexFormFields will be available and hold all submitted Form elements as name->value. | + | The array <code>$flexFormFields</code> will be available and hold all submitted Form elements as '''name->value'''. |
− | If your extension produces an error, throw a FlexFormException and FlexForm will take care of the rest. Make sure to throw a message that with your extension name. | + | If your extension produces an error, throw a '''FlexFormException''' and FlexForm will take care of the rest. ''Make sure to throw a message that with your extension name''. |
− | If your extension has successfully finished its tasks, tell the responsehandler it has been | + | If your extension has successfully finished its tasks, tell the '''responsehandler''' it has been successful and return the responseHandler : |
<syntaxhighlight lang="html"> | <syntaxhighlight lang="html"> | ||
$responseHandler->setReturnType( HandleResponse::TYPE_SUCCESS ); | $responseHandler->setReturnType( HandleResponse::TYPE_SUCCESS ); |
Revision as of 11:50, 24 May 2022
FlexForm can be extended by a PHP function to handle additional tasks after a Form has been submitted.
Start a FlexForm and tell it to use your extension :
<_form action="addToWiki" extension="<name of your extension" >
Your flexform elements here
</_form>
Create a folder in FlexForm/src/Modules/Handlers
with the name of your extension.
In this folder create a file called PostHandler.php
with the following namespace :
namespace FlexForm\Modules\Handlers\< your extension name = same as folder name >;
Your extension will be based on the HandlerInterface interface and will only hold one method : execute
The array $flexFormFields
will be available and hold all submitted Form elements as name->value.
If your extension produces an error, throw a FlexFormException and FlexForm will take care of the rest. Make sure to throw a message that with your extension name.
If your extension has successfully finished its tasks, tell the responsehandler it has been successful and return the responseHandler :
$responseHandler->setReturnType( HandleResponse::TYPE_SUCCESS );
return $responseHandler;
If your extension has successfully finished its tasks and you want to pass additional information to the user :
$responseHandler->setReturnType( HandleResponse::TYPE_SUCCESS );
$responseHandler->setReturnData( string < your message > );
return $responseHandler;