- Rozszerzenie jest domyślnie wyłączone, ale może być dostępne na żądanie.
DynamicPageList (DPL) jest rozszerzeniem MediaWiki umożliwiającym tworzenie dynamicznych list stron korzystając z kryteriów takich jak przynależność do kategorii czy umieszczenie danego szablonu. Są one dynamiczne gdyż aktualizują się automatycznie wraz ze zmianami tych kryteriów na stronach.
Na przykład, jeśli chcesz sprawdzić listę elfów będących jednocześnie mieszkańcami Novigradu w Wiedźminie 3 to DPL zrobi to bez problemu. Jeśli potrzebujesz odpowiedzi na pytanie jaka osoba postronna narodowości brytyjskiej została piratem w Assassin's Creed IV: Black Flag? DPL powinien pomóc ci znaleźć taką osobę szukając jej w Kategorii:Piraci oraz Kategorii:Brytyjczycy ale nie w Kategorii:Asasyni.
Ze względu na wysokie zapotrzebowanie na zasoby, DPL mocno obciąża wydajność serwera wpływając tym samym na wyraźnie wolniejsze ładowanie stron na wiki które z niego korzystają. Ponadto, ponieważ samo rozszerzenie korzysta z wielu parametrów i aplikacji niemal niemożliwe jest przekazanie całej wiedzy o nim na jednej stronie pomocy, toteż zachęcamy do zapoznania się z poszczególnymi sekcjami tego artykułu: „Efektywne używanie DPL” oraz „Więcej o DynamicPageList”.
Korzyści z używania DPL[]
- Tworzenie dynamicznych list stron bazowanych na parametrach takich jak: nazwy stron, przestrzenie nazw, obecność w kategoriach, dołączone szablony etc. Na przykład możesz utworzyć listę stron znajdujących się w dwóch kategoriach, ale nie w trzeciej.
- Może umieszczać informacje o stronie takie jak ostatnia edycja, nick ostatniego edytora etc.
- Może wyświetlać listy w formie tabeli, listy wypunktowanej lub numerowanej, w stylu kategorii oraz wewnątrz linii.
- Umożliwia tworzenie list z niestandardowymi stylami oraz zawartym formatowaniem.
Jak umieścić DPL na stronie[]
Zapytanie DPL zaczyna się tagiem <DPL>
a zamyka </DPL>
. Wewnątrz tych tagów użytkownicy mogą umieścić szerokie spektrum parametrów, aby dopasować zapytanie do swoich potrzeb. Możesz również użyć {{#dpl: ...}}
jako alternatywy .
- Poniżej znajduje się bardzo prosty przykład zapytania DPL
<DPL> category = Postacie </DPL>
Zapytanie to wyświetliłoby listę wszystkich stron w kategorii Postacie.
- Może być to również dostosowywane...
<DPL> category = Postacie notcategory = Postacie z 1 sezonu namespace = Postać mode = ordered </DPL>
To zapytanie wyświetla numerowaną listę stron w kategorii Postacie ale nie w kategorii Postacie z 1 sezonu znajdujących się jednocześnie w przestrzeni nazw Postać.
Efektywne używanie DPL[]
DynamicPageList można znacząco obciążyć serwer, wpływając niekorzystnie na wydajność strony. Poniższe wskazówki pomogą tego uniknąć.
Po pierwsze, zastanów się czy użycie DPL jest konieczne. Jeśli robisz to tylko dlatego że jest fajne to możesz zapewnić użytkownikom równie fajne rozszerzenia jak np. ankietę, kalendarz, osadzony kanał RSS lub video oraz wiele innych.
Po drugie, jeśli zdecydujesz że DPL jest niezbędnym narzędziem w tym co robisz dodaj wynikowi DPL dostęp do pamięci podręcznej!. Możesz zrobić to bardzo łatwo dodając poniższą linię do twojego zapytania:
allowcachedresults = true
Użyj innych narzędzi do tworzenia list[]
- Tworzenie prostego drzewa kategorii
- Aby stworzyć proste drzewo kategorii możesz użyć tagu
<categorytree>
(dokumentacja). Na przykład aby uzyskać listę artykułów w kategorii Społeczność użyj poniższego kodu:
<categorytree mode="pages" hideroot=on>Społeczność</categorytree>
- Losowa treść
- Użyj Losowej Selekcji.
- Lista użytkowników
- Użyj Listy użytkowników.
- Zaawansowane użycie
- W przypadku bardziej zaawansowanego wykorzystania, przed użyciem DPL sprawdź dostępność bardziej wyspecjalizowanego rozszerzenia. Na przykład zamiast tworzyć kalendarz w DPL-u użyj dostępnego rozszerzenia kalendarza. Jeśli nie jesteś pewien lub nie widzisz rozszerzenia którego potrzebujesz, skontaktuj się z pracownikiem lub napisz do jednego z helperów a z przyjemnością ci pomogą.
Rzeczy których należy się wystrzegać[]
- Używanie funkcji randomcount; nie obsługuje pamięci podręcznej.
- Wykorzystanie DPL w szablonach dostępnych na całej witrynie; wywoła to dziesiątki ukrytych zapytań i będzie to miało bardzo negatywny wpływ na wydajność.
- Duże zapytania; nie wyświetlaj 500 wyników , jeśli 20 spełni zadanie.
- Używanie więcej niż jednego lub dwóch zapytań na jednej stronie.
Czasami wymaga czyszczenia[]
Jeśli widzisz dziwny wynik zapytania DPL spróbuj umieścić ?action=purge
(lub &action=purge
jeśli ?
jest już w użyciu) na końcu adresu URL strony. Może to rozwiązać problemy powstające w momencie gdy zapytanie jest aktualizowane, ale pamięć podręczna serwera się nie odświeża.
Typowe zastosowania dla DPL[]
Galerie[]
DPL może zostać wykorzystany do automatycznego tworzenia galerii.
<DPL> namespace = Plik category = NazwaKategorii format = <gallery widths="150" position="center">,%PAGE%\n,,</gallery> allowcachedresults = true </DPL>
Oczekująca praca[]
Możesz wykorzystać DPL to tworzenia list artykułów wymagających poprawy.
<DPL> category = Zalążki artykułów format = ,#%PAGE%\n,, allowcachedresults = true </DPL>
Lub do tworzenia galerii obrazów do skategoryzowania.
<DPL> namespace = Plik notcategory = Sezon 1 notcategory = Sezon 2 notcategory = Sezon 3 notcategory = Sezon 4 format = <gallery widths="150" position="center">,%PAGE%\n,,</gallery> allowcachedresults = true </DPL>
Więcej o DynamicPageList[]
- Poradnik DPL zawierający opis wszystkich dostępnych parametrów.
- Strona o DPL na MediaWiki.org.
- Oryginalna strona pomocy o DPL na Memory Alpha zawierająca przykłady użycia na Fandomie.