Manual:Hooks/LinkBegin/de

From Linux Web Expert

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