Manual:Hooks/EditPage::showEditForm:initial
Appearance
| EditPage::showEditForm:initial | |
|---|---|
| 自version 1.6.0 版可用 在预览和渲染编辑表单前被调用 | |
| 定义函数: | public static function onEditPage_showEditForm_initial( EditPage $editPage, OutputPage $output ) { ... }
|
| 附加钩子: | 在extension.json中:
{
"Hooks": {
"EditPage::showEditForm:initial": "MediaWiki\\Extension\\MyExtension\\Hooks::onEditPageshowEditForminitial"
}
}
|
| 调用自: | 文件: EditPage/EditPage.php |
| 介面: | EditPage__showEditForm_initialHook.php |
更多有关附加钩子的信息,请参见钩子。
有关使用此钩子的扩展示例,请参见Category:EditPage::showEditForm:initial extensions/zh。
详情
$editPage- 当前的EditPage对象$output- OutputPage对象。 (在版本1.20.0引入)
提醒
您可以执行类似以下的操作以仅对某些类型的编辑执行操作:
if( $editPage->formtype == 'preview' ) {
// 执行一个预览,
}
注入HTML
有很多在EditPage::showEditForm:initial中的位置允许用户注入HTML。 这些钩子的位置由EditPage对象的成员变量表示。
It is not clear how you are able to inject text using this hook prior to MW 1.9!
$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
要注入HTML,请将HTML附加到上述成员变量之一,例如:
$editPage->editFormPageTop .= "<span>Hello World!</span>";
一些注入点在表单内部;另一些在表单外部。 表单内的那些允许您注入HTML表单元素。
- 表单内
- editFormTextBeforeContent
- editFormTextAfterWarn
- editFormTextAfterTools
- editFormTextBottom
- 表单外
- editFormPageTop
- editFormTextTop
通常,我们使用EditPage::showEditForm:fields作为表单元素,但在某些情况下可能需要使用前面提到的钩子位置。
只读
在只读模式,有类似的钩子EditPage::showReadOnlyForm:initial。