Manual:Hooks/SkinTemplateNavigation/cs
Appearance
Please use Manual:Hooks/SkinTemplateNavigation::Universal instead of this hook if possible. See phab:T255319
SkinTemplateNavigation | |
---|---|
Available from version 1.16.0 Změní strukturované navigační odkazy ve SkinTemplates | |
Define function: | public static function onSkinTemplateNavigation( SkinTemplate $skinTemplate, array &$links ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"SkinTemplateNavigation": "MediaWiki\\Extension\\MyExtension\\Hooks::onSkinTemplateNavigation"
}
}
|
Called from: | File(s): SkinTemplate.php |
Interface: | SkinTemplateNavigationHook.php |
For more information about attaching hooks, see Příručka:Háčky .
For examples of extensions using this hook, see Category:SkinTemplateNavigation extensions/cs.
Podrobnosti
[edit]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
[edit]// 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
[edit]- Manual:Hooks/SkinTemplateNavigation::SpecialPage — vyvoláno na speciálních stránkách, po zvláštní kartě, ale před variantami.
- Manual:Hooks/SkinTemplateNavigation::Universal — volá se na všech typech stránek po přidání všech karet a variant.