MediaWiki  1.28.1
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...
 
 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 the basic end-page trail including bottomscripts, reporttime, and debug stuff. 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 ($str)
 
 html ($str)
 
 msg ($str)
 
 msgHtml ($str)
 
 msgWiki ($str)
 An ugly, ugly hack. More...
 
 set ($name, $value)
 Sets the value $value to $name. More...
 
 setRef ($name, &$value)
 
 setTranslator (&$t)
 
 text ($str)
 

Protected Member Functions

 renderAfterPortlet ($name)
 

Additional Inherited Members

- 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 26 of file BaseTemplate.php.

Member Function Documentation

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$option
Returns
array

Definition at line 603 of file BaseTemplate.php.

References as.

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$option
Returns
array|mixed

Definition at line 563 of file BaseTemplate.php.

References $link, as, and data.

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 647 of file BaseTemplate.php.

References $content, $out, as, data, Sanitizer\escapeId(), and Html\rawElement().

BaseTemplate::getMsg (   $name)

Get a Message object with its context set.

Parameters
string$nameMessage name
...$params Message params
Returns
Message

Definition at line 35 of file BaseTemplate.php.

References QuickTemplate\getSkin().

Referenced by SkinFallbackTemplate\buildHelpfulInformationMessage(), FakeAuthTemplate\getExtraInputDefinitions(), getSidebar(), msg(), msgHtml(), and msgWiki().

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

Definition at line 129 of file BaseTemplate.php.

References as.

BaseTemplate::getSidebar (   $options = [])

Definition at line 154 of file BaseTemplate.php.

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

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

Definition at line 58 of file BaseTemplate.php.

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

Referenced by getSidebar().

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

Definition at line 347 of file BaseTemplate.php.

References $html, $options, $title, $value, as, Html\rawElement(), Linker\titleAttrib(), and Linker\tooltipAndAccesskeyAttribs().

Referenced by 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

Definition at line 452 of file BaseTemplate.php.

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

Referenced by getSidebar().

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

Definition at line 39 of file BaseTemplate.php.

References getMsg().

Referenced by SkinFallbackTemplate\execute().

BaseTemplate::msgHtml (   $str)

Definition at line 43 of file BaseTemplate.php.

References getMsg().

BaseTemplate::msgWiki (   $str)

Definition at line 47 of file BaseTemplate.php.

References getMsg().

Referenced by FakeAuthTemplate\getExtraInputDefinitions().

BaseTemplate::printTrail ( )

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

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

Definition at line 668 of file BaseTemplate.php.

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

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

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

Definition at line 285 of file BaseTemplate.php.

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


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