Manual:Hooks/LinkBegin/de

From Linux Web Expert

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
LinkBegin
<translate> Available from <tvar name=1><translate> version <tvar </tvar></translate>
<translate> Removed in <tvar name=1><translate> version <tvar (Gerrit change 593874)</tvar></translate>
Wird verwendet, wenn interne und Interwiki-Links in Linker::link() generiert werden, bevor die Verarbeitung beginnt.
<translate> Define function:</translate>
public static function onLinkBegin( $dummy, $target, &$html, &$customAttribs, &$query, &$options, &$ret ) { ... }
<translate> Attach hook:</translate> <translate> In <tvar name=1>extension.json</tvar>:</translate>
{
	"Hooks": {
		"LinkBegin": "MediaWiki\\Extension\\MyExtension\\Hooks::onLinkBegin"
	}
}
<translate> Called from:</translate> <translate> File(s):</translate> linker/LinkRenderer.php
<translate> Function(s):</translate> runLegacyBeginHook
<translate> Interface:</translate> LinkBeginHook.php

<translate> For more information about attaching hooks, see <tvar name=1>Handbuch:Hooks </tvar>.</translate>
<translate> For examples of extensions using this hook, see <tvar name=cat>Category:LinkBegin extensions/de</tvar>.</translate>

Warnung

In MediaWiki 1.28 it was superseded with HtmlPageLinkRendererBegin . LinkBegin is considered outdated.

Details

Return false to skip default processing and return $ret. See documentation for Linker::link() for details on the expected meanings of parameters.

  • $dummy: used to be a skin, but that eliminated.
  • $target: the Title that the link is pointing to.
  • &$html
  • &$customAttribs: the HTML attributes (such as title and class; href is ignored) that the ‎<a> tag should have, in associative array form, with keys and values unescaped. Should be merged with default values, with a value of false meaning to suppress the attribute. Other attributes will replace default attributes.
  • &$query: the query string to add to the generated URL (the bit after the "?"), in associative array form, with keys and values unescaped. Query keys and values will be URL-encoded.
  • &$options: the options. Can include 'known', 'broken', 'noclasses', 'forcearticlepath', 'http', or 'https'.
  • &$ret: the value to return if your hook returns false.

$options-Werte

  • 'known': Page is known to exist, so don't check if it does.
  • 'broken': Page is known not to exist, so don't check if it does.
  • 'noclasses': Don't add any classes automatically (includes "new", "stub", "mw-redirect", "extiw"). Only use the class attribute provided, if any, so you get a simple blue link with no funny icons.
  • 'forcearticlepath': Use the article path always, even with a querystring. Has compatibility issues on some setups, so avoid wherever possible.
  • 'http': Force a full URL with http:// as the scheme.
  • 'https': Force a full URL with https:// as the scheme.

Beispiel

The following code will show all wikilinks as broken (i.e. as red links) by changing the $customAttribs class to "new":

$wgHooks['LinkBegin'][] = 'ExampleExtension::exampleExtensionLinkBegin';

class ExampleExtension {
	public static function exampleExtensionLinkBegin( $dummy, $target, &$html, &$customAttribs, &$query,
		&$options, &$ret ) {
		$customAttribs['class'] = 'new';
		return true;
	}
}

Another way to achieve the same result would be to change $ret instead of $customAttribs and return false, like this:

$wgHooks['LinkBegin'][] = 'ExampleExtension::exampleExtensionLinkBegin';

class ExampleExtension {
	public static function exampleExtensionLinkBegin( $dummy, $target, &$html, &$customAttribs, &$query,
		&$options, &$ret ) {
		$ret = Html::rawElement ( 'a', array ( 'href' => $target->getFullURL(), 'class' => 'new' ),
			$target->getPrefixedDBKey() );
		return false;
	}
}

Note that neither of these examples will have any effect on interwiki links. For that, you'll need to use LinkEnd . Siehe das Beispiel.

Siehe auch