Extension:SubpageNavigation
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Háček, Speciální stránka |
| Popis | Zobrazuje přímé podřízené položky aktuální stránky v záhlaví článku, poskytuje dynamický strom podstránek na postranním panelu a speciální stránku pro procházení všech stránek/podstránek wiki v různých modalitách. |
| Autoři | thomas-topway-it (thomas-topway-itdiskuse) |
| Nejnovější verze | 1.2.2 (2025-09-26) |
| Zásady kompatibility | Větev master zachovává zpětnou kompatibilitu. |
| MediaWiki | 1.35+ |
|
|
|
|
| Licence | GNU General Public License 2.0 nebo novější |
| Stáhnout | |
| Přeložte rozšíření SubpageNavigation, používá-li lokalizaci z translatewiki.net | |
SubpageNavigation zobrazuje v záhlaví každého článku sbalitelný seznam podstránek, včetně prázdných článků s podstránkami. Na rozdíl od podobných rozšíření SubpageNavigation nevyžaduje přidání parserové funkce do wikitextu a zobrazuje pouze přímé potomky stránky. (Přímý potomek však může obsahovat lomítka, pokud nadřazená stránka neexistuje.) Dále obsahuje breadcrumb (drobečkovou) navigaci (zanechávající stopy) umístěnou nad názvem a speciální stránku, kde lze procházet všechny stránky wiki seskupené podle podstránek, podobně jako správce souborů GitHub.
Od verze 1.2 SubpageNavigation také nabízí dynamický strom na postranním panelu (kompatibilní se vzhledem Vector a Vzhled:Chameleon) inspirovaný Extension:CategoryTree.
Po instalaci rozšíření přidá odkaz na speciální stránku "Procházet podstránky" v levém panelu, pomocí kterého lze procházet všechny stránky a podstránky wiki ve 3 různých modalitách a podle jmenného prostoru, a zpřístupní níže popsané komponenty.
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
SubpageNavigationve vaší složceextensions/.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SubpageNavigation
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'SubpageNavigation' );
Dokončeno – Přejděte na stránku Special:Versionvaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Součásti
Všechny následující komponenty lze zobrazit/skrýt pomocí níže uvedených obecných parametrů.
Sbalitelný seznam podstránek v záhlaví článku
Rozšíření zobrazí na jakékoli stránce vaší wiki s podstránkami záhlaví, jako je následující, bez nutnosti přidávat funkci parseru.
Seznam podstránek se zobrazuje i u neexistujících článků, což je užitečné například tehdy, když jsou podstránky vytvořeny programově: Pokud jsou však mezilehlé stránky prázdné, podstránky nebudou seskupeny na speciální stránce "Browse subpages" (procházet podstránky), takže je vždy lepší mít pro každou mezilehlou úroveň prázdný článek (pokud samotný název neobsahuje lomítko, v tomto případě s ním rozšíření správně zachází).
Když seznam podstránek zobrazených u daného článku překročí danou prahovou hodnotu, SubpagesNavigation zobrazí odkaz na speciální stránku Procházet podstránky, kde může uživatel procházet celý seznam podstránek pomocí standardní navigace MediaWiki.
Tuto funkci lze po zahrnutí rozšíření zakázat nastavením $wgSubpageNavigationShowArticleHeader = false; na LocalSettings.php.
Dynamický strom

Tato funkce je ve výchozím nastavení zakázána. Pro aktivaci použijte $wgSubpageNavigationShowTree = true; v LocalSettings.php |
Od verze 1.2 nabízí SubpageNavigation dynamický strom, inspirovaný (a technicky odvozený) od Extension:CategoryTree, který umožňuje procházet všemi stránkami a podstránkami aktuálního jmenného prostoru, stejně jako byste to dělali s typickým souborovým systémem.
Pokud větev překročí daný limit (konfigurovatelný globálním parametrem $wgSubpageNavigationTreeSubpagesLimit), lze kompletní seznam podstránek procházet pomocí speciální stránky popsané níže.
Podstránky se ze stromu načítají dynamicky a aktuální větev/cesta se otevírá staticky. Počet podstránek se zobrazuje také u stránek s podstránkami.
Strom (spolu s dalšími způsoby prezentace podstránek) podporuje LocalServerObjectCache (pro servery podporující APCu nebo WinCache) a SessionCache (ve výchozím nastavení povoleno) pro zvýšení výkonu.
Další informace získáte na stránce Objektová mezipaměť.
Pro povolení dynamického stromu pro vzhled Chameleon použijte následující nastavení v LocalSettings.php:
wfLoadExtension( 'SubpageNavigation' );
$wgSubpageNavigationShowTree = true;
wfLoadExtension( 'Bootstrap' );
wfLoadSkin( 'chameleon' );
$wgDefaultSkin='chameleon';
$egChameleonLayoutFile = __DIR__ . '/extensions/SubpageNavigation/resources/ChameleonLayout.xml';
Pokud již máte vlastní rozvržení Chameleonu, použijte k vykreslení stromu následující komponentu takto:
<component type="SubpageNavigationTree" />
(více informací o rozvrženích a komponentách Chameleonu naleznete zde)
Navigace Breadcrumb (drobečková)
Tato funkce je momentálně pro Vector 2022 zakázána. Podrobnosti naleznete v níže uvedeném akčním plánu. |
Pokud má aktuální stránka nadřazenou stránku, rozšíření (podobně jako to již dělá Mediawiki s povolením $wgNamespacesWithSubpages pro aktuální jmenný prostor) zobrazí také drobečkovou navigaci, jako je tato:
U speciálních stránek se také zobrazuje drobečková navigace, takže se uživatel může snadno vrátit na seznam speciálních stránek.
Ve srovnání se standardními drobečkovými navigacemi Mediawiki se drobečková navigace v aplikaci SubpageNavigation liší následujícími rozdíly:
- Drobečková navigace se zobrazuje nad názvem, nikoli pod ním (v kombinaci se záhlavím podstránek to nabízí lepší rozvržení záhlaví)
- Navigace s drobečkovou navigací se zobrazuje také pro speciální stránky
- Aktuální stránka se také zobrazuje v drobečkové navigaci (jako prostý text, nikoli jako odkaz)
- Jako název článku se zobrazuje pouze název aktuální/koncové stránky, nikoli celá cesta (například "Hlavní/Podstránka 1/Podstránka 2" se zobrazuje pouze jako "Podstránka 2"). (srovnání viz zde a zde)
Tuto funkci lze po zahrnutí rozšíření zakázat nastavením $wgSubpageNavigationShowBreadcrumbs = false; na LocalSettings.php.
Speciální stránka "Browse subpages"
Speciální stránka "Browse subpages" (procházet podstránky) umožňuje procházet všechny stránky s podstránkami wiki v rámci každého specifického jmenného prostoru 3 různými způsoby (seskupením podstránek, pouze stránky s podstránkami a podobně jako v souborovém systému).
Na rozdíl od ostatních výše popsaných komponent (zejména seznamu podstránek v záhlaví a dynamického stromu) umožňuje tato speciální stránka procházet celý seznam podstránek určité cesty (nebo "větve" stromu) prostřednictvím standardní navigace MediaWiki, a proto, jakmile tyto komponenty dosáhnou svého specifického limitu, přesměrují na tuto speciální stránku pomocí odkazu "zobrazit vše...".
Navigační panel umožňuje přepínat mezi 3 různými režimy v rámci libovolného jmenného prostoru: "default" (výchozí), "folders" (složky) a "filesystem" (souborový systém). První režim zobrazí články s podstránkami a články bez podstránek společně, ale seskupí články s podstránkami (zobrazí pouze jejich přímé podstránky na dané úrovni). Druhý režim, "folders" (složky), zobrazí pouze články s podřízenými položkami a režim "filesystem" (souborový systém) zobrazí nejprve články s podřízenými položkami a poté články bez podřízených položek.
Na každou úroveň lze jednoduše odkázat z jiného článku wiki odkazem na stejnou speciální stránku a přidáním požadované cesty za název speciální stránky takto:
Special:SubpageNavigationBrowse/Main_Page/a
Všeobecné parametry
| Proměnná | Popis | Výchozí |
|---|---|---|
$wgSubpageNavigationShowTree |
zobrazit/skrýt dynamický strom v postranním panelu | false
|
$wgSubpageNavigationShowArticleHeader |
zobrazit/skrýt záhlaví článku se seznamem podstránek | true
|
$wgSubpageNavigationShowBreadcrumbs |
zobrazit/skrýt navigaci s drobečkovou navigací | true
|
$wgSubpageNavigationTreeShowChildrenCount |
zobrazit/skrýt počet dětí ve stromu | true
|
$wgSubpageNavigationTreeSubpagesLimit |
limit pro každou větev stromu | 30
|
$wgSubpageNavigationArticleHeaderSubpagesLimit |
maximální počet podstránek zobrazených v záhlaví článku | 20
|
$SubpageNavigationCacheStore |
výchozí mezipaměť, LocalServerObjectCache nebo SessionCache |
SessionCache
|
$wgSubpageNavigationDisableCache |
zakázat mezipaměť | false
|
$wgSubpageNavigationRestrictNamespaces |
zobrazit strom pouze v určitých jmenných prostorech | []
|
$wgSubpageNavigationDisablePaths |
zakázat zobrazení podstránek pro konkrétní cesty | []
|
$wgSubpageNavigationDisableSidebarLink |
zakázat stromovou strukturu stránek v postranním panelu | []
|
Příklad konfigurace
$wgSubpageNavigationShowTree = true;
$wgSubpageNavigationShowArticleHeader = false;
$wgSubpageNavigationShowBreadcrumbs = false;
$wgSubpageNavigationTreeShowChildrenCount = true;
$wgSubpageNavigationTreeSubpagesLimit = 50;
$wgSubpageNavigationArticleHeaderSubpagesLimit = 30;
$wgSubpageNavigationCacheStore = 'LocalServerObjectCache';
$wgSubpageNavigationDisableCache = false;
// @see https://www.mediawiki.org/wiki/Extension:ContactManager
$wgSubpageNavigationDisablePaths = [
'ContactManager:Mailboxes',
'ContactManager:Contacts',
];
Práva a výsady
Skupiny
Rozšíření vytváří následující skupiny: (lze je přiřadit uživatelům prostřednictvím standardní speciální stránky Special:UserRights). Pouze uživatelé v rámci těchto skupin mohou procházet podstránky prostřednictvím vyhrazené speciální stránky.
| Skupina | Popis |
|---|---|
subpagenavigation-admin |
umožnit uživatelům přístup k vyhrazené speciální stránce pro procházení wiki prostřednictvím podstránek a jmenných prostorů. |
Rozšíření vytváří následující uživatelská práva.
| Právo | Popis |
|---|---|
subpagenavigation-can-browse-subpages |
může procházet podstránky |
Práva skupiny
| Skupina | Správce kontaktů může procházet podstránky |
|---|---|
sysop |
v |
bureaucrat |
v |
subpagenavigation-admin |
v |
Známé problémy
Navigace pomocí drobečkové stopy je pro vzhled Vector-2022 momentálně zakázána.
Plán
- Implementovat Ajaxovou navigaci stromu podobně jako navigaci v tabulkách v phpMyAdmin
- Povolit drobečkovou navigaci i pro Vector 2022 pomocí háčků Příručka:Háčky/AfterFinalPageOutput a DOMDocument pro manipulaci s výstupem (drobečková navigace je aktuálně vkládána do indikátorů stavu stránky, nicméně ve Vector 2022 je umístěna pod názvem, nikoli nad ním, a zdá se, že neexistuje jiný způsob, jak zobrazit indikátory nad názvem pomocí PHP)
- Pro dotaz na základní podstránky použijte nástroj pro tvorbu dotazů z knihovny nová knihovna RDBMS (místo surového SQL)
- Zobrazit/skrýt komponenty na základě skupin uživatelů
Úkol
- Vymazat mezipaměť na stránce smazat související stránku
Podpora a chyby
Chybové zprávy prosím zveřejňujte na diskusní stránce.
Pro profesionální podporu prosím pište na e-mailovou adresu uvedenou zde.
Související odkazy
- Nápověda:Podstránky
- Extension:SubPageList – umožňuje vypsat a počíst podstránky.
- Extension:Subpage Fun – definuje některé nové funkce analyzátoru pro získání pokročilých informací o podstránkách.
- Extension:CategoryTree
- Stable extensions/cs
- Hook extensions/cs
- Special page extensions/cs
- ArticleViewHeader extensions/cs
- BeforeInitialize extensions/cs
- BeforePageDisplay extensions/cs
- MediaWikiServices extensions/cs
- SidebarBeforeOutput extensions/cs
- SkinAfterPortlet extensions/cs
- SkinBuildSidebar extensions/cs
- SkinSubPageSubtitle extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- All extensions/cs
- Subpage extensions/cs
