Manual:Hooks/SkinTemplateNavigation/cs
SkinTemplateNavigation | |
---|---|
<translate> Available from <tvar name=1><translate> version <tvar </tvar></translate> Změní strukturované navigační odkazy ve SkinTemplates | |
<translate> Define function:</translate> | public static function onSkinTemplateNavigation( SkinTemplate $skinTemplate, array &$links ) { ... }
|
<translate> Attach hook:</translate> | <translate> In <tvar name=1>extension.json</tvar>:</translate>
{
"Hooks": {
"SkinTemplateNavigation": "MediaWiki\\Extension\\MyExtension\\Hooks::onSkinTemplateNavigation"
}
}
|
<translate> Called from:</translate> | <translate> File(s):</translate> SkinTemplate.php |
<translate> Interface:</translate> | SkinTemplateNavigationHook.php |
<translate> For more information about attaching hooks, see <tvar name=1>Příručka:Háčky </tvar>.</translate>
<translate> For examples of extensions using this hook, see <tvar name=cat>Category:SkinTemplateNavigation extensions/cs</tvar>.</translate>
Podrobnosti
Tento háček mění navigaci pro vzhledy, které používají buildNavigationUrls, jako je Vector ve vzhledech starších než 1.18. V 1.18 se tento háček používá ke generování karet pro všechny vzhledy.
This hook is called on content pages, see the other two SkinTemplateNavigation hooks for other points tabs can be modified at.
V MediaWiki < 1.37 je tento háček volán až po přidání karet, ale před přidáním variant. V 1.37 se tento háček volá poté, co byly přidány karty A varianty.
- $skinTemplate: Objekt SkinTemplate
- &$links: Strukturované navigační odkazy
- Z funkce buildContentNavigationUrls:
- Strukturované pole odkazů obvykle používaných pro karty ve vzhledu
- K dispozici jsou 4 standardní sekce:
- namespaces: Používá se pro záložky jmenného prostoru, jako jsou speciální jmenné prostory, jmenné prostory stránek a diskuse
- views: Používá se pro primární zobrazení stránky, jako je čtení, úprava, historie
- actions: Používá se pro většinu dalších akcí na stránce, jako je smazání, ochrana atd...
- variants: Slouží k výpisu jazykových variant stránky
- Hodnota každé sekce je pole klíč/hodnota odkazů pro danou sekci. Samotné odkazy mají tyto společné klíče:
- class: Třídy css, které se mají použít na kartu
- text: Text, který se má zobrazit na kartě
- href: href pro kartu, na kterou má odkazovat
- rel: Volitelný rel= pro odkaz na kartu
- redundant: Pokud je hodnota true, karta bude ve vzhledech pomocí content_actions odstraněna, což je užitečné pro karty jako "Číst" (read), které mají význam pouze ve vzhledech, které mají zvláštní význam ze seskupené struktury content_navigation
Příklad
// Přidejte záložku "Chat" s action=chat
public static function onSkinTemplateNavigation( SkinTemplate $skinTemplate, array &$links ) {
$request = $skinTemplate->getRequest();
$action = $request->getText( 'action' );
$links['views']['chat'] = array(
'class' => ( $action == 'chat') ? 'selected' : false,
'text' => "Chat",
'href' => $skinTemplate->makeArticleUrlDetails(
$skinTemplate->getTitle()->getFullText(), 'action=chat' )['href']
);
}
Příklad, do kterého můžete vložit LocalSettings.php
$wgHooks['SkinTemplateNavigation'][] = function ( $template, &$links ) {
// přidejte novou záložku jmenného prostoru
$links['namespaces']['new'] = [
'class' => '',
'href' => '#/SkinTemplateNavigation',
'text' => 'SkinTemplateNavigationTab',
];
// přidejte novou akci
$links['actions']['new'] = [
'class' => '',
'href' => '#/SkinTemplateNavigation',
'text' => 'SkinTemplateNavigation action',
];
// přidejte nový pohled
$links['views']['new'] = [
'class' => '',
'href' => '#/SkinTemplateNavigation',
'text' => 'SkinTemplateNavigation view',
];
};
Související stránky
- SpecialPage — vyvoláno na speciálních stránkách, po zvláštní kartě, ale před variantami.
- Universal — volá se na všech typech stránek po přidání všech karet a variant.