MediaWiki  master
SlotRoleHandler.php
Go to the documentation of this file.
1 <?php
23 namespace MediaWiki\Revision;
24 
26 
35 
39  private $role;
40 
45  private $layout = [
46  'display' => 'section', // use 'none' to suppress
47  'region' => 'center',
48  'placement' => 'append'
49  ];
50 
54  private $contentModel;
55 
64  public function __construct( $role, $contentModel, $layout = [] ) {
65  $this->role = $role;
66  $this->contentModel = $contentModel;
67  $this->layout = array_merge( $this->layout, $layout );
68  }
69 
73  public function getRole() {
74  return $this->role;
75  }
76 
97  public function getOutputLayoutHints() {
98  return $this->layout;
99  }
100 
106  public function getNameMessageKey() {
107  return 'slot-name-' . $this->role;
108  }
109 
121  public function getDefaultModel( LinkTarget $page ) {
122  return $this->contentModel;
123  }
124 
140  public function isAllowedModel( $model, LinkTarget $page ) {
141  return ( $model === $this->contentModel );
142  }
143 
155  public function supportsArticleCount() {
156  return false;
157  }
158 
159 }
SlotRoleHandler instances are used to declare the existence and behavior of slot roles.
__construct( $role, $contentModel, $layout=[])
Created by PhpStorm.
getNameMessageKey()
The message key for the translation of the slot name.
supportsArticleCount()
Whether this slot should be considered when determining whether a page should be counted as an "artic...
getDefaultModel(LinkTarget $page)
Determines the content model to use per default for this slot on the given page.
getOutputLayoutHints()
Layout hints for use while laying out the combined output of all slots, typically by RevisionRenderer...
isAllowedModel( $model, LinkTarget $page)
Determines whether the given model can be used on this slot on the given page.