MediaWiki  1.33.0
Revision\SlotRoleHandler Class Reference

SlotRoleHandler instances are used to declare the existence and behavior of slot roles. More...

Inheritance diagram for Revision\SlotRoleHandler:
Collaboration diagram for Revision\SlotRoleHandler:

Public Member Functions

 __construct ( $role, $contentModel, $layout=[])
 
 getDefaultModel (LinkTarget $page)
 Determines the content model to use per default for this slot on the given page. More...
 
 getNameMessageKey ()
 The message key for the translation of the slot name. More...
 
 getOutputLayoutHints ()
 Layout hints for use while laying out the combined output of all slots, typically by RevisionRenderer. More...
 
 getRole ()
 
 isAllowedModel ( $model, LinkTarget $page)
 Determines whether the given model can be used on this slot on the given page. More...
 
 supportsArticleCount ()
 Whether this slot should be considered when determining whether a page should be counted as an "article" in the site statistics. More...
 

Private Attributes

string $contentModel
 
array $layout
 
string $role
 

Detailed Description

SlotRoleHandler instances are used to declare the existence and behavior of slot roles.

Most importantly, they control which content model can be used for the slot, and how it is represented in the rendered verswion of page content.

Since
1.33

Definition at line 34 of file SlotRoleHandler.php.

Constructor & Destructor Documentation

◆ __construct()

Revision\SlotRoleHandler::__construct (   $role,
  $contentModel,
  $layout = [] 
)
Parameters
string$roleThe name of the slot role defined by this SlotRoleHandler. See SlotRoleRegistry::defineRole for more information.
string$contentModelThe default content model for this slot. As per the default implementation of isAllowedModel(), also the only content model allowed for the slot. Subclasses may however handle default and allowed models differently.
array$layoutLayout hints, for use by RevisionRenderer. See getOutputLayoutHints.

Definition at line 64 of file SlotRoleHandler.php.

References Revision\SlotRoleHandler\$contentModel, Revision\SlotRoleHandler\$role, and layout.

Member Function Documentation

◆ getDefaultModel()

Revision\SlotRoleHandler::getDefaultModel ( LinkTarget  $page)

Determines the content model to use per default for this slot on the given page.

The default implementation always returns the content model provided to the constructor. Subclasses may base the choice on default model on the page title or namespace. The choice should not depend on external state, such as the page content.

Parameters
LinkTarget$page
Returns
string

Reimplemented in Revision\MainSlotRoleHandler.

Definition at line 121 of file SlotRoleHandler.php.

References Revision\SlotRoleHandler\$contentModel.

◆ getNameMessageKey()

Revision\SlotRoleHandler::getNameMessageKey ( )

The message key for the translation of the slot name.

Returns
string

Definition at line 106 of file SlotRoleHandler.php.

References Revision\SlotRoleHandler\$role.

◆ getOutputLayoutHints()

Revision\SlotRoleHandler::getOutputLayoutHints ( )

Layout hints for use while laying out the combined output of all slots, typically by RevisionRenderer.

The layout hints are given as an associative array. Well-known keys to use:

  • "display": how the output of this slot should be represented. Supported values:
    • "section": show as a top level section of the region.
    • "none": do not show at all Further values that may be supported in the future include "box" and "banner".
  • "region": in which region of the page the output should be placed. Supported values:
    • "center": the central content area. Further values that may be supported in the future include "top" and "bottom", "left" and "right", "header" and "footer".
  • "placement": placement relative to other content of the same area.
    • "append": place at the end, after any output processed previously. Further values that may be supported in the future include "prepend". A "weight" key may be introduced for more fine grained control.
Returns
array an associative array of hints

Reimplemented in Revision\FallbackSlotRoleHandler.

Definition at line 97 of file SlotRoleHandler.php.

References Revision\SlotRoleHandler\$layout.

◆ getRole()

Revision\SlotRoleHandler::getRole ( )
Returns
string The role this SlotRoleHandler applies to

Definition at line 73 of file SlotRoleHandler.php.

References Revision\SlotRoleHandler\$role.

◆ isAllowedModel()

Revision\SlotRoleHandler::isAllowedModel (   $model,
LinkTarget  $page 
)

Determines whether the given model can be used on this slot on the given page.

The default implementation checks whether $model is the content model provided to the constructor. Subclasses may allow other models and may base the decision on the page title or namespace. The choice should not depend on external state, such as the page content.

Note
This should be checked when creating new revisions. Existing revisions are not guaranteed to comply with the return value.
Parameters
string$model
LinkTarget$page
Returns
bool

Reimplemented in Revision\MainSlotRoleHandler, and Revision\FallbackSlotRoleHandler.

Definition at line 140 of file SlotRoleHandler.php.

◆ supportsArticleCount()

Revision\SlotRoleHandler::supportsArticleCount ( )

Whether this slot should be considered when determining whether a page should be counted as an "article" in the site statistics.

For a page to be considered countable, one of the page's slots must return true from this method, and Content::isCountable() must return true for the content of that slot.

The default implementation always returns false.

Returns
string

Reimplemented in Revision\MainSlotRoleHandler.

Definition at line 155 of file SlotRoleHandler.php.

Member Data Documentation

◆ $contentModel

string Revision\SlotRoleHandler::$contentModel
private

◆ $layout

array Revision\SlotRoleHandler::$layout
private
Initial value:
= [
'display' => 'section',
'region' => 'center',
'placement' => 'append'
]
See also
getOutputLayoutHints

Definition at line 45 of file SlotRoleHandler.php.

Referenced by Revision\SlotRoleHandler\getOutputLayoutHints().

◆ $role


The documentation for this class was generated from the following file: