MediaWiki  1.33.0
BaseTemplate Class Reference

New base template for a skin's template extended from QuickTemplate this class features helper methods that provide common ways of interacting with the data stored in the QuickTemplate. More...

Inheritance diagram for BaseTemplate:
Collaboration diagram for BaseTemplate:

Public Member Functions

 getFooterIcons ( $option=null)
 Returns an array of footer icons filtered down by options relevant to how the skin wishes to display them. More...
 
 getFooterLinks ( $option=null)
 Returns an array of footerlinks trimmed down to only those footer links that are valid. More...
 
 getIndicators ()
 Get the suggested HTML for page status indicators: icons (or short text snippets) usually displayed in the top-right corner of the page, outside of the main content. More...
 
 getMsg ( $name)
 Get a Message object with its context set. More...
 
 getPersonalTools ()
 Create an array of personal tools items from the data in the quicktemplate stored by SkinTemplate. More...
 
 getSidebar ( $options=[])
 
 getToolbox ()
 Create an array of common toolbox items from the data in the quicktemplate stored by SkinTemplate. More...
 
 getTrail ()
 Get the basic end-page trail including bottomscripts, reporttime, and debug stuff. More...
 
 makeLink ( $key, $item, $options=[])
 Makes a link, usually used by makeListItem to generate a link for an item in a list used in navigation lists, portlets, portals, sidebars, etc... More...
 
 makeListItem ( $key, $item, $options=[])
 Generates a list item for a navigation, portlet, portal, sidebar... More...
 
 makeSearchButton ( $mode, $attrs=[])
 
 makeSearchInput ( $attrs=[])
 
 msg ( $str)
 
 msgHtml ( $str)
 
 msgWiki ( $str)
 
 printTrail ()
 Output getTrail. More...
 
- Public Member Functions inherited from QuickTemplate
 __construct (Config $config=null)
 
 execute ()
 Main function, used by classes that subclass QuickTemplate to show the actual HTML output. More...
 
 extend ( $name, $value)
 extends the value of data with name $name with the value $value More...
 
 get ( $name, $default=null)
 Gets the template data requested. More...
 
 getHTML ()
 Fetch the output of a QuickTemplate and return it. More...
 
 getSkin ()
 Get the Skin object related to this object. More...
 
 haveData ( $str)
 
 haveMsg ( $msgKey)
 
 html ( $str)
 
 set ( $name, $value)
 Sets the value $value to $name. More...
 
 setRef ( $name, &$value)
 
 text ( $str)
 

Protected Member Functions

 getAfterPortlet ( $name)
 Allows extensions to hook into known portlets and add stuff to them. More...
 
 getClear ()
 Get a div with the core visualClear class, for clearing floats. More...
 
 getFooter ( $iconStyle='icononly', $linkStyle='flat')
 Renderer for getFooterIcons and getFooterLinks. More...
 
 renderAfterPortlet ( $name)
 

Additional Inherited Members

- Public Attributes inherited from QuickTemplate
array $data
 
- Protected Attributes inherited from QuickTemplate
 $config
 

Detailed Description

New base template for a skin's template extended from QuickTemplate this class features helper methods that provide common ways of interacting with the data stored in the QuickTemplate.

Definition at line 29 of file BaseTemplate.php.

Member Function Documentation

◆ getAfterPortlet()

BaseTemplate::getAfterPortlet (   $name)
protected

Allows extensions to hook into known portlets and add stuff to them.

Parameters
string$name
Returns
string html
Since
1.29

Definition at line 307 of file BaseTemplate.php.

References $content, $html, $name, and Hooks\run().

Referenced by TimelessTemplate\getPortlet(), MonoBookTemplate\getPortlet(), and renderAfterPortlet().

◆ getClear()

BaseTemplate::getClear ( )
protected

Get a div with the core visualClear class, for clearing floats.

Returns
string html
Since
1.29

Definition at line 712 of file BaseTemplate.php.

Referenced by TimelessTemplate\execute(), MonoBookTemplate\execute(), and getFooter().

◆ getFooter()

BaseTemplate::getFooter (   $iconStyle = 'icononly',
  $linkStyle = 'flat' 
)
protected

Renderer for getFooterIcons and getFooterLinks.

Parameters
string$iconStyle$option for getFooterIcons: "icononly", "nocopyright"
string$linkStyle$option for getFooterLinks: "flat"
Returns
string html
Since
1.29

Definition at line 662 of file BaseTemplate.php.

References $html, as, captcha-old\count, getClear(), getFooterIcons(), getFooterLinks(), and QuickTemplate\getSkin().

Referenced by TimelessTemplate\execute().

◆ getFooterIcons()

BaseTemplate::getFooterIcons (   $option = null)

Returns an array of footer icons filtered down by options relevant to how the skin wishes to display them.

If you pass "icononly" as the option all footer icons which do not have an image icon set will be filtered out. If you pass "nocopyright" then MediaWiki's copyright icon will not be included in the list of footer icons. This is mostly useful for skins which only display the text from footericons instead of the images and don't want a duplicate copyright statement because footerlinks already rendered one.

Parameters
string | null$option
Returns
array

Definition at line 624 of file BaseTemplate.php.

References as, and captcha-old\count.

Referenced by getFooter(), and MonoBookTemplate\getSimpleFooter().

◆ getFooterLinks()

BaseTemplate::getFooterLinks (   $option = null)

Returns an array of footerlinks trimmed down to only those footer links that are valid.

If you pass "flat" as an option then the returned array will be a flat array of footer icons instead of a key/value array of footerlinks arrays broken up into categories.

Parameters
string | null$option
Returns
array|mixed

Definition at line 587 of file BaseTemplate.php.

References $link, as, captcha-old\count, and data.

Referenced by VectorTemplate\execute(), getFooter(), and MonoBookTemplate\getSimpleFooter().

◆ getIndicators()

BaseTemplate::getIndicators ( )

Get the suggested HTML for page status indicators: icons (or short text snippets) usually displayed in the top-right corner of the page, outside of the main content.

Your skin may implement this differently, for example by handling some indicator names specially with a different UI. However, it is recommended to use a <div class="mw-indicator" id="mw-indicator-<id>" /> as a wrapper element for each indicator, for better compatibility with extensions and user scripts.

The raw data is available in ‘$this->data['indicators’]` as an associative array (keys: identifiers, values: contents) internally ordered by keys.

Returns
string HTML
Since
1.25

Definition at line 731 of file BaseTemplate.php.

References $content, $out, as, and data.

Referenced by TimelessTemplate\execute(), VectorTemplate\execute(), and MonoBookTemplate\execute().

◆ getMsg()

◆ getPersonalTools()

BaseTemplate::getPersonalTools ( )

Create an array of personal tools items from the data in the quicktemplate stored by SkinTemplate.

The resulting array is built according to a format intended to be passed through makeListItem to generate the html. This is in reality the same list as already stored in personal_urls however it is reformatted so that you can just pass the individual items to makeListItem instead of hardcoding the element creation boilerplate.

Returns
array

Reimplemented in SkinApiTemplate.

Definition at line 139 of file BaseTemplate.php.

References as.

Referenced by MonoBookTemplate\execute(), and TimelessTemplate\getUserLinks().

◆ getSidebar()

BaseTemplate::getSidebar (   $options = [])

Reimplemented in SkinApiTemplate.

Definition at line 164 of file BaseTemplate.php.

References $content, $options, $template, as, data, getMsg(), getToolbox(), makeListItem(), and Hooks\run().

Referenced by TimelessTemplate\getMainNavigation().

◆ getToolbox()

BaseTemplate::getToolbox ( )

Create an array of common toolbox items from the data in the quicktemplate stored by SkinTemplate.

The resulting array is built according to a format intended to be passed through makeListItem to generate the html.

Returns
array

Reimplemented in SkinApiTemplate.

Definition at line 73 of file BaseTemplate.php.

References $template, as, data, and Hooks\run().

Referenced by TimelessTemplate\getPageTools(), getSidebar(), MonoBookTemplate\getToolboxBox(), and VectorTemplate\renderPortals().

◆ getTrail()

BaseTemplate::getTrail ( )

Get the basic end-page trail including bottomscripts, reporttime, and debug stuff.

This should be called right before outputting the closing body and html tags.

Returns
string|WrappedStringList HTML
Since
1.29

Definition at line 762 of file BaseTemplate.php.

References getContext(), MWDebug\getDebugHTML(), and QuickTemplate\getSkin().

Referenced by VectorTemplate\execute(), MonoBookTemplate\execute(), and printTrail().

◆ makeLink()

BaseTemplate::makeLink (   $key,
  $item,
  $options = [] 
)

Makes a link, usually used by makeListItem to generate a link for an item in a list used in navigation lists, portlets, portals, sidebars, etc...

Parameters
string$keyUsually a key from the list you are generating this link from.
array$itemContains some of a specific set of keys.

The text of the link will be generated either from the contents of the "text" key in the $item array, if a "msg" key is present a message by that name will be used, and if neither of those are set the $key will be used as a message name.

If a "href" key is not present makeLink will just output htmlescaped text. The "href", "id", "class", "rel", and "type" keys are used as attributes for the link if present.

If an "id" or "single-id" (if you don't want the actual id to be output on the link) is present it will be used to generate a tooltip and accesskey for the link.

The keys "context" and "primary" are ignored; these keys are used internally by skins and are not supposed to be included in the HTML output.

If you don't want an accesskey, set $item['tooltiponly'] = true;

If a "data" key is present, it must be an array, where the keys represent the data-xxx properties with their provided values. For example, $item['data'] = [ 'foo' => 1, 'bar' => 'baz', ]; will render as element properties: data-foo='1' data-bar='baz'

Parameters
array$optionsCan be used to affect the output of a link. Possible options are:
  • 'text-wrapper' key to specify a list of elements to wrap the text of a link in. This should be an array of arrays containing a 'tag' and optionally an 'attributes' key. If you only have one element you don't need to wrap it in another array. eg: To use ... in all links use [ 'text-wrapper' => [ 'tag' => 'span' ] ] for your options.
  • 'link-class' key can be used to specify additional classes to apply to all links.
  • 'link-fallback' can be used to specify a tag to use instead of "<a>" if there is no link. eg: If you specify 'link-fallback' => 'span' than any non-link will output a "<span>" instead of just text.
Returns
string

Reimplemented in VectorTemplate.

Definition at line 375 of file BaseTemplate.php.

References $html, $options, $title, $value, as, captcha-old\count, Linker\titleAttrib(), Linker\tooltipAndAccesskeyAttribs(), and wfMessage().

Referenced by makeListItem().

◆ makeListItem()

BaseTemplate::makeListItem (   $key,
  $item,
  $options = [] 
)

Generates a list item for a navigation, portlet, portal, sidebar...

list

Parameters
string$keyUsually a key from the list you are generating this link from.
array$itemArray of list item data containing some of a specific set of keys. The "id", "class" and "itemtitle" keys will be used as attributes for the list item, if "active" contains a value of true a "active" class will also be appended to class.
array$optionsIf you want something other than a "<li>" you can pass a tag name such as "tag" => "span" in the $options array to change the tag used. link/content data for the list item may come in one of two forms A "links" key may be used, in which case it should contain an array with a list of links to include inside the list item, see makeLink for the format of individual links array items.

Otherwise the relevant keys from the list item $item array will be passed to makeLink instead. Note however that "id" and "class" are used by the list item directly so they will not be passed to makeLink (however the link will still support a tooltip and accesskey from it) If you need an id or class on a single link you should include a "links" array with just one link item inside of it. You can also set "link-class" in $item to set a class on the link itself. If you want to add a title to the list item itself, you can set "itemtitle" to the value. $options is also passed on to makeLink calls

Returns
string

Reimplemented in VectorTemplate.

Definition at line 480 of file BaseTemplate.php.

References $html, $link, $options, as, and makeLink().

Referenced by MonoBookTemplate\getBox(), TimelessTemplate\getPortlet(), MonoBookTemplate\getPortlet(), getSidebar(), and TimelessTemplate\getUserLinks().

◆ makeSearchButton()

BaseTemplate::makeSearchButton (   $mode,
  $attrs = [] 
)

◆ makeSearchInput()

BaseTemplate::makeSearchInput (   $attrs = [])

◆ msg()

BaseTemplate::msg (   $msgKey)
Access:\n private
Parameters
string$msgKey

Reimplemented from QuickTemplate.

Definition at line 42 of file BaseTemplate.php.

References getMsg().

Referenced by VectorTemplate\execute(), SkinFallbackTemplate\execute(), and VectorTemplate\renderNavigation().

◆ msgHtml()

BaseTemplate::msgHtml (   $str)
Parameters
string$str
Warning
You should never use this method. I18n messages should be escaped
Deprecated:
1.32 Use ->msg() or ->getMsg() instead. @suppress SecurityCheck-XSS
Returns
-taint exec_html

Reimplemented from QuickTemplate.

Definition at line 53 of file BaseTemplate.php.

References getMsg(), and wfDeprecated().

◆ msgWiki()

BaseTemplate::msgWiki (   $str)
Deprecated:
since 1.33 Use ->msg() or ->getMsg() instead.

Reimplemented from QuickTemplate.

Definition at line 61 of file BaseTemplate.php.

References getMsg().

◆ printTrail()

BaseTemplate::printTrail ( )

Output getTrail.

Definition at line 750 of file BaseTemplate.php.

References getTrail().

Referenced by SkinApiTemplate\execute(), and SkinFallbackTemplate\execute().

◆ renderAfterPortlet()

BaseTemplate::renderAfterPortlet (   $name)
protected
Parameters
string$name

Definition at line 295 of file BaseTemplate.php.

References $name, and getAfterPortlet().


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