Extension:DynamicPageList
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Značka, Funkce analyzátoru |
| Popis | Vytiskne seznam s odrážkami nejnovějších položek umístěných v kategorii nebo průsečík několika kategoriemi. |
| Autoři | IlyaHaykinson & Amgine |
| Nejnovější verze | Continuous updates |
| Zásady kompatibility | Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní. |
| MediaWiki | 1.23+ |
| PHP | 5.4+ |
| Změny v databázi | Ne |
| Licence | GNU General Public License 2.0 nebo novější |
| Stáhnout | |
| Příklad |
|
|
|
<DynamicPageList> |
|
| Přeložte rozšíření DynamicPageList | |
| Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření DynamicPageList umožňuje uživatelům wiki vytvořit seznam stránek, které jsou uvedeny v sadě kategorií.
Původ
Původně byl vyvinut pro Wikinews. V současnosti je nainstalován na většině jazykových projektů Wikinews (viz n:Wikinews:DynamicPageList), Meta, MediaWiki.org a několika dalších malých projektech. Nebude nainstalován na žádné další wikiny Wikimedie kvůli problémům s výkonem.
Toto rozšíření bylo dříve známé jako DynamicPageList/old a později jako Intersection. Také by vás mohl zajímat DynamicPageList3, který má více funkcí.
Instalace a nastavení
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
intersectionve 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/intersection
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'intersection' );
Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Konfigurace
Rozšíření také podporuje několik konfiguračních proměnných. Normálně byste nechtěli změnit výchozí nastavení, ale pokud to uděláte, můžete je přidat do svého LocalSettings.php za řádek wfLoadExtension( 'intersection' ). Zde jsou podporované konfigurační proměnné spolu s jejich výchozími hodnotami:
# Configuration variables. Warning: These use DLP instead of DPL
# for historical reasons (pretend Dynamic list of pages)
$wgDLPmaxCategories = 6; // Maximum number of categories to look for
$wgDLPMaxResultCount = 200; // Maximum number of results to allow
$wgDLPAllowUnlimitedResults = false; // Allow unlimited results
$wgDLPAllowUnlimitedCategories = false; // Allow unlimited categories
// How long to cache pages using DPL's in seconds. Default to 1 day.
// Set to false to use the normal amount of page caching (most efficient),
// Set to 0 to disable cache altogether (inefficient, but results will never be outdated)
$wgDLPMaxCacheTime = 60*60*24; // How long to cache pages in seconds
Použití
DynamicPageList lze použít se syntaxí podobnou XML v zobrazení úprav wiki. Parametry řídí seznam stránek, pořadí a režim zobrazení. Informace o jednotlivých parametrech naleznete v následujících částech. Například níže je pět nejstarších stránek na této wiki, které byly nedávno přesunuty na MediaWiki.org.
<DynamicPageList>
category = Pages recently transferred from Meta
count = 5
order = ascending
addfirstcategorydate = true
</DynamicPageList>
Příklad opravdu složitého DynamicPageList:
<DynamicPageList>
category=foo
count=20
namespace=file,main
addfirstcategorydate=ymd
imagewidth=70
galleryshowfilesize=yes
galleryshowfilename=yes
imagesperrow=7
gallerycaption=Galleries!
ordermethod=sortkey
order=ascending
mode=gallery
offset=12
</DynamicPageList>
Zobrazí seznam 12-ti až 31-ti stránek v prostoru názvů souborů, které jsou také v kategorii foo, zformátuje je do galerie obrázků s datem, kdy byly přidány do kategorie foo v titulku ve formátu rok měsíc den a obrázky mají šířku 70 pixelů
Výběr stránky
category
category uvádí kategorie, které se mají protínat. DynamicPageList zobrazí seznam stránek, které se nacházejí v každé uvedené kategorii. Minimální a maximální počet položek k seznamu je nastaven ve zdrojovém kódu rozšíření. V názvu kategorie můžete použít kouzelná slova jako {{CURRENTMONTHNAME}}.
Syntaxe je category = název kategorie
<DynamicPageList>
category = Demo
category = Demo 1
</DynamicPageList>
notcategory
notcategory omezuje seznam stránek na ty, které nejsou v konkrétní kategorii. V názvu kategorie můžete použít kouzelná slova jako {{CURRENTMONTHNAME}}.
<DynamicPageList>
category = Demo
notcategory = Demo 1
</DynamicPageList>
namespace
namespace omezuje seznam výše uvedených stránek na stránky v konkrétním jmenném prostoru, určeném jménem nebo číslem (viz Seznam výchozích jmenných prostorů). Jakýkoli neplatný název je ekvivalentní jmennému prostoru hlavního článku.
<DynamicPageList>
category = Demo
namespace = Help, user, main
</DynamicPageList>
redirects
redirects určuje, zda zahrnout přesměrované stránky či nikoli.
Hodnota může být $1 (výchozí, neuvádět přesměrování), $2 (uvádět přesměrování) nebo $3 (neuvádět stránky, které nejsou přesměrovány).
exclude- default, don't list redirectsinclude- list redirectsonly- don't list pages that aren't redirects
<DynamicPageList>
category = Demo
redirects = only
</DynamicPageList>
stablepages
stablepages určuje, zda zahrnout stabilní (označené) stránky při použití Extension:FlaggedRevisions.
Hodnota může být $1 (nevypisovat), $2 (vypsat stabilní a nestabilní - výchozí) nebo $3 (uvést pouze stabilní stránky). Aby fungoval, vyžaduje instalaci FlaggedRevs.
exclude- don't listinclude- list stable and non-stable. defaultonly- only list stable pages
Requires FlaggedRevs to be installed to work.
count
count omezuje počet zobrazených výsledků. Ve výchozím nastavení se zobrazují stránky přidané do kategorie naposledy (viz objednávka). Všimněte si, že rozšíření neuvede více výsledků, než je maximum definované ve zdrojovém kódu rozšíření.
<DynamicPageList>
category = Demo
count = 2
</DynamicPageList>
offset
offset spustí seznam odjinud než z první stránky seznamu.
To lze například použít s count k vytvoření rozvržení s více sloupci.
<DynamicPageList>
category = Demo
offset = 2
</DynamicPageList>
Demo sloupce
<table>
<tr><th colspan="3"> recent articles in [[:category:Demo|:category:Demo]]</th></tr>
<tr><td>
<DynamicPageList>
category = Demo
count=5
</DynamicPageList>
</td>
<td>
<DynamicPageList>
category = Demo
offset = 5
count= 5
</DynamicPageList>
</td>
<td>
<DynamicPageList>
category = Demo
offset = 10
count=5
</DynamicPageList>
</td></tr></table>
Zobrazené podrobnosti
shownamespace
shownamespace zobrazuje jmenný prostor v názvech stránek.
Hodnota může být true (výchozí, zobrazit v názvu: Help:Contents) nebo false (nezobrazit v názvu: Contents).
<DynamicPageList>
category = Demo
shownamespace = false
</DynamicPageList>
addfirstcategorydate
addfirstcategorydate zobrazuje datum přidání každého článku do kategorie. Hodnota může být true (zobrazit datum), false (výchozí, nezobrazovat datum) nebo specifikátor data (ymd, md, dm, dmy, mdy a ISO 8601). Pokud je zadáno mnoho kategorií, použije se první kategorie. Před názvy odkazovaných stránek je uvedeno datum ve formátu podle vašich místních preferencí zobrazení data na MediaWiki.
<DynamicPageList>
category = Demo
addfirstcategorydate = true
</DynamicPageList>
mode
mode určuje formát seznamu. Hodnota může být: The value can be:
- unordered – seznam s odrážkami
- ordered – číslovaný seznam
- none – jednoduché odkazy se zalomením řádků
- gallery – galerie obrázků, například
<gallery> - inline – čárkami oddělený seznam
unordered:
<DynamicPageList>
category = Demo
mode = unordered
</DynamicPageList>
ordered:
<DynamicPageList>
category = Demo
mode = ordered
</DynamicPageList>
none:
<DynamicPageList>
category = Demo
mode = none
</DynamicPageList>
inline:
<DynamicPageList>
category = Demo
mode = inline
</DynamicPageList>
mode=gallery
Gallery je speciální režim, kde výstupem je galerie obrázků. Je-li nainstalován Extension:PageImages, pak se pro nesouborové stránky použije obrázek stránky, pokud existuje. V opačném případě budou stránky jiného než souborového prostoru jmen pouze prázdným místem.
<DynamicPageList>
category = Demo
mode = gallery
namespace= file
</DynamicPageList>
Režim gallery také podporuje možnosti imagewidth (jak široké by měly být obrázky v galerii, možná budete muset nastavit také výšku obrázku, pokud toto používáte), imageheight (jak vysoký by měl být obrázek) galleryshowfilesize' ' (zobrazit velikost obrázku, jako na stránkách kategorií), galerieshowfilename (zobrazit název souboru jako na stránkách kategorie), imagesperrow (počet obrázků na řádek v galerii), gallerycaption (popis pro galerie).
imagewidth- how wide the images should be in gallery, you may need to also setimageheightif using thisimageheight- how high the image should begalleryshowfilesize- show the image size, like on category pagesgalleryshowfilename- show filename like on category pagesimagesperrow- number of images per row in gallerygallerycaption- caption for gallery
Pokud se používá addfirstcategorydate, datum se připojí k titulku obrázku.
Poznámka, popis galerie v tuto chvíli nemůže přijímat odkazy. (ale může přijímat věci jako {{CURRENTMONTHNAME}})
Složitým příkladem galerie může být:
<DynamicPageList>
count=20
namespace=file
addfirstcategorydate=ymd
imagewidth=70
galleryshowfilesize=yes
galleryshowfilename=yes
imagesperrow=7
gallerycaption=Look at my pretty gallery.
mode=gallery
shownamespace=false
</DynamicPageList>
suppresserrors
supresserrors skrývá chyby. Hodnota může být true (skrýt chyby) nebo false (výchozí, zobrazit chyby).
true:
<DynamicPageList>
category = Dem
suppresserrors = true
</DynamicPageList>
false:
<DynamicPageList>
category = Dem
suppresserrors = false
</DynamicPageList>
nofollow
nofollow nastavuje na odkazy rel="nofollow".
To zabrání spiderům dostat se na stránku prostřednictvím odkazu z DynamicPageList.
Obecně je to zbytečné, protože spideři buď budou moci indexovat stránku z jiných odkazů nebo vůbec ne kvůli robots.txt/$wgDefaultRobotPolicy.
Obecně byste tuto možnost neměli používat, pokud nevíte, co děláte, a nemáte dobrý důvod.
Primárním případem použití je, že na anglických Wikinews považují Zprávy Google za článek cokoli, na co odkazuje hlavní stránka.
<DynamicPageList>
category = Demo
nofollow = true
</DynamicPageList>
googlehack
Toto je hack pro wikinews. Dříve Zprávy Google považovaly za zpravodajské články pouze články s čísly [1], takže se připojí ?dpl_id=<id článku> na konec URL adres v seznamu. Tuto možnost byste neměli používat, pokud k tomu nemáte dobrý důvod (nic tím však nepokazíte). Toto nahradí možnost showcurid, která již není podporována.
Previously, Google News only considered articles with numbers in them to be news articles [2], so this appends ?dpl_id=<id of article> to the end of the urls on the list.
You shouldn't use this option unless you have a good reason to (however it won't hurt anything).
This replaces the showcurid option that is no longer supported.
<DynamicPageList>
category = Demo
googlehack = true
</DynamicPageList>
Nařízení
ordermethod
ordermethod určuje pořadí a datum k zobrazení. Hodnota může být:
- categoryadd — výchozí, podle data seřazené stránky zařadí do první kategorie
- lastedit — seřadí stránky podle data kdy byly naposledy upraveny
- length — podle délky článku
- created — podle data vytvoření článku
- categorysortkey — v podstatě v abecedním pořadí podle klíče řazení první kategorie
- sortkey — alias pro
categorysortkey.
Nutno podotknout, že lastedit opravdu řadí podle posledního dotyku stránky.
V některých případech to není ekvivalentní poslední úpravě (například to zahrnuje změny oprávnění, vytvoření nebo odstranění propojených stránek a změnu obsažených šablon).
Pokud neurčíte kategorii, některé z těchto metod nařízení nebudou fungovat – konkrétně, categoryadd a categorysortkey přejde na created, pokud není klauzule category.
<DynamicPageList>
category = Demo
addfirstcategorydate = true
ordermethod = lastedit
</DynamicPageList>
abecední příklad:
<DynamicPageList>
category = Demo
ordermethod = sortkey
</DynamicPageList>
order
order určuje směr řazení.
Hodnota může být descending (výchozí, od nejnovější po nejstarší) nebo ascending (od nejstarší po nejnovější).
<DynamicPageList>
category = Demo
order = ascending
</DynamicPageList>
Šablony
Chcete-li použít uvnitř šablony a předat parametry, použít funkce parseru atd., použijte funkci {{#tag::
{{#tag:DynamicPageList|
category = {{{1}}}
count = {{#if: {{{2|}}} | 10 | 20 }}
ordermethod = sortkey
order = ascending
}}
Samotná stránka šablony zobrazí chybovou zprávu, protože hodnota kategorie je na stránce šablony prázdná, pokud šablonu nevložíte mezi značky <includeonly>. Například:
Error: Musíte zahrnout alespoň jednu kategorii nebo určit jmenný prostor!
Odvozená rozšíření
- Odvozená rozšíření: DPLforum výstupy ve stylu fóra. Extension:GoogleNewsSitemap je takto, ale vydává RSS kanál. DynamicPageList3 je upravená verze, která nabízí více funkcionalit, ale je náročnější na zdroje. Na stránkách Wikimedia se nepoužívá.
- Extension:DynamicPageListEngine - zpřístupňuje dynamické seznamy stránek modulům Scribunto.
| Toto rozšíření se používá na jednom nebo více projektech Wikimedia. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version. |
| Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: Toto není autoritativní seznam. Některé wiki farmy/hostitelé a/nebo balíčky mohou toto rozšíření obsahovat, i když zde nejsou uvedeny. Pro potvrzení se vždy obraťte na své wiki farmy/hostitele nebo balíček. |
- Stable extensions/cs
- Tag extensions/cs
- Parser function extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- ParserFirstCallInit extensions/cs
- All extensions/cs
- Extensions used on Wikimedia/cs
- Extensions included in Miraheze/cs
- Extensions included in WikiForge/cs
- Page content extensions/cs
- Category intersection extensions/cs
