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

From MediaWiki.org
Jump to: navigation, search
Page Forms - navigation (viewTemplate:Page Forms navigation)
Basics Main pageExtension:Page Forms (talk) · Download and installationExtension:Page Forms/Download and installation · Quick start guideExtension:Page Forms/Quick start guide · HostingExtension:Page Forms/Hosting · Special pagesExtension:Page Forms/Special pages
Using Page Forms PF and templatesExtension:Page Forms/Page Forms and templates · Defining formsExtension:Page Forms/Defining forms (Input typesExtension:Page Forms/Input types) · The "Edit with form" tabExtension:Page Forms/The "edit with form" tab · Linking to formsExtension:Page Forms/Linking to forms · Creating query formsExtension:Page Forms/Creating query forms
Resources for help Common problemsExtension:Page Forms/Common problems · Known bugs and planned featuresExtension:Page Forms/Known bugs and planned features · Getting supportExtension:Page Forms/Getting support · Developers' documentationExtension:Page Forms/Developers' documentation · TestingExtension:Page Forms/Testing
About Page Forms Authors and creditsExtension:Page Forms/Authors and credits · Version historyExtension:Page Forms/Version history · Sites that use Page FormsExtension:Page Forms/Sites that use Page Forms · Related extensionsExtension:Page Forms/Related extensions

Getting "Edit with form" to appear[edit]

To get the "Edit with form" tab to appear on the page, you must use the parser function #default_form. This function is called in the following way:

{{#default_form:form-name}}

...where form-name 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.

Based on category[edit]

The recommended approach is to use 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 #default_form in the page for that category. You can do this automatically if you create the category using the 'CreateCategory' page.

Based on namespace[edit]

You can also match a 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 property can be found by navigating to '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 create and add this property to the page called '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 MediaWiki:Blanknamespace).

Then, add the #default_form 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[edit]

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.

Configuring the editing tabs[edit]

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 "LocalSettings.php" to change the appearance of the editing tabs:

  • $wgPageFormsRenameEditTabs = true; - renames the "Edit with form" tab to "edit", and the "edit" tab to "edit source" (in whatever language the wiki is being viewed in)
  • $wgPageFormsRenameMainEditTab = true; - renames only the "edit" tab to "edit source" (in whatever language the wiki is being viewed in)
  • $wgGroupPermissions[...]['viewedittab'] - 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:
    • $wgGroupPermissions['*']['viewedittab'] = false;
    • $wgGroupPermissions['sysop']['viewedittab'] = true;

If these settings are added to LocalSettings.php, they should be placed in the file after the include of Page Forms.

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

Further tab customization[edit]

Tabs contain CSS ID's that can be further customized on a site-wide basis using CSS or javascript in your site's MediaWiki:Common.css or MediaWiki:Common.js. Tabs can be customized on an individual page using Extension:NewPageCSS or Extension:CSS. For example, you can hide the edit and view tabs with something like this in your MediaWiki:Common.css:

#ca-view, #ca-edit { display: none !important; }