Extension:Page Forms/The "edit with form" tab

Getting "edit with form" to appear
To get the "edit with form" tab to appear on the page, you must use the parser function  .

This function is called in the following way:

...where   is the name of the form, without the namespace prefix "Form:".

If a user is not allowed to edit a page that is form-editable, the tab will show up for them as "view form" instead; clicking on the tab will show the disabled form.

  displays a message like "This category uses the form form-name."

To hide this message, you can embed the call within a hidden element, like:

Based on category
The recommended approach is to use 1>meta:Special:MyLanguage/Help:Category|categories. To enable a page to have a tab in this way, you must first define that page as belonging to a specific category. The best way to match pages with a category is to place a 'Category' tag inside the main template that defines this page type; that way, every page that uses this template will become part of this category.

Then, place a call to   in the page for that category. You can do this automatically if you create the category using the 'CreateCategory' page.

Based on namespace
You can also match a ns>meta:Special:MyLanguage/Help:Namespace|namespace to a form, meaning that every page in that namespace will be editable with that form. First, locate the page defining that namespace. For instance, if the namespace you want to associate with a form is 'User', the page in which you need to add the <tvar|def> </> call can be found by navigating to <tvar|proj>'Project:User'</> (you may need to create this page). If the namespace you want a default form for is the main one (i.e., the one with no name), you will need to add <tvar|def> </> to the page called <tvar|main>'Project:Main'</>, or whatever the main namespace is called in the language of this wiki (to see the name of the main namespace in your wiki, go to <tvar|1>MediaWiki:Blanknamespace</>).

Then, add the <tvar|df> </> parser function to this page.

Once you've added this call, every page within that namespace will have that form associated with it, unless it already belongs to a category that has an associated form (categories take precedence over namespaces).

Within the page
You can also associate a form directly to a page. This is especially useful when the category and namespace options aren't possible, such as when pages belong to multiple categories that have different default forms. To do this, simply add a call to #default_form directly to the page, or to a template that the page calls.

Preventing the tab from appearing
If you want to ensure that a page does not get an "edit with form" tab, add the following call to the relevant page, category or namespace page:

Configuring the editing tabs
For pages that have an "edit with form" tab, you may want the regular "edit" tab to be renamed or even removed altogether. There are flags you can set in "<tvar|local>LocalSettings.php</>" to change the appearance of the editing tabs:
 * - renames the "edit with form" tab to "edit", and the "edit" tab to "edit source" (in whatever language the wiki is being viewed in)
 * - renames only the "edit" tab to "edit source" (in whatever language the wiki is being viewed in)


 * - can be set, for different types of viewers, to toggle whether each type will see the regular edit tab. One common modification is to set it to false normally (i.e. for viewer type '*'), and to true for 'sysop' viewers:

If these settings are added to <tvar|local>LocalSettings.php</>, they should be placed in the file after the include of <tvar|pf>Page Forms</>.

Note that some of the early <tvar|mw>MediaWiki</> skins, like <tvar|1>Cologne Blue</>, contain hard-coded links to "Edit this page", that can't be removed or renamed by the <tvar|pfm>Page Forms</> code.

Further tab customization
Every tab has an HTML ID, so tabs can be further customized on a site-wide basis using CSS or JavaScript in your site's <tvar|css>MediaWiki:Common.css</> or <tvar|js>MediaWiki:Common.js</>, or on individual pages with the <tvar|extcss></> extension. For example, you can hide the edit and view tabs by adding the following to your <tvar|common>MediaWiki:Common.css</> page: