Extension:DynamicPageList
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 and 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> |
|
Čtvrtletní stahování | 0 |
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
intersection
ve 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 require_once
. 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 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 </DynamicPageList>
redirects
redirects určuje, zda zahrnout přesměrované stránky či nikoli. Hodnota může být exclude (výchozí, neuvádět přesměrování), include (uvádět přesměrování) nebo only (neuvádět stránky, které nejsou přesměrovány).
<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 exclude (nevypisovat), include (vypsat stabilní a nestabilní - výchozí) nebo only (uvést pouze stabilní stránky). Aby fungoval, vyžaduje instalaci FlaggedRevs.
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:
- 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> nařízené: <DynamicPageList> category = Demo mode = ordered </DynamicPageList> obyčejné odkazy: <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 Rozšíření: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).
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.
<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. |