Manual:Hooks/EditPage::showEditForm:initial
| EditPage::showEditForm:initial | |
|---|---|
| Available from version 1.6.0 Called just before the preview and edit form are rendered | |
| Define function: | public static function onEditPage_showEditForm_initial( EditPage $editPage, OutputPage $output ) { ... }
|
| Attach hook: | In extension.json:
{
"Hooks": {
"EditPage::showEditForm:initial": "MediaWiki\\Extension\\MyExtension\\Hooks::onEditPageshowEditForminitial"
}
}
|
| Called from: | File(s): EditPage/EditPage.php |
| Interface: | EditPage__showEditForm_initialHook.php |
For more information about attaching hooks, see Manual:Hooks.
For examples of extensions using this hook, see Category:EditPage::showEditForm:initial extensions.
Details
[edit]$editPage- the current EditPage object.$output- the OutputPage object. (introduced in 1.20.0)
Notes
[edit]You can do something like the following to only take action on certain types of edits:
if( $editPage->formtype == 'preview' ) {
// performing a preview.
}
Inject HTML
[edit]There are many locations within EditPage::showEditForm:initial that allow a user to inject HTML. These hook locations are represented by member variables of the EditPage object.
$editPage->editFormPageTop // MW >= 1.9 $editPage->editFormTextTop // MW >= 1.9 $editPage->editFormTextBeforeContent // MW >= 1.12 $editPage->editFormTextAfterWarn // MW >= 1.9 $editPage->editFormTextAfterTools // MW >= 1.9 $editPage->editFormTextBottom // MW >= 1.9
To inject your HTML, append your HTML to one of the aforementioned member variables, e.g.
$editPage->editFormPageTop .= "<span>Hello World!</span>";
Some hook locations are inside forms; some not. Those inside the form allow you to inject HTML form elements.
- Inside form
- editFormTextBeforeContent
- editFormTextAfterWarn
- editFormTextAfterTools
- editFormTextBottom
- Outside form
- editFormPageTop
- editFormTextTop
Normally, we use EditPage::showEditForm:fields for form elements, but there may be some circumstances for which it is necessary to use the aforementioned hook locations.
Read-only
[edit]In read-only mode, there is a similar EditPage::showReadOnlyForm:initial hook.