Extension:DynamicPageList (Wikimedia)/cs


 * Toto rozšíření používá Wikimedie, nezaměňovat s nebo .

Rozšíření DynamicPageList umožňuje uživatelům wiki vytvořit seznam stránek, které jsou uvedeny v sadě kategorií. Obecné informace viz m:Help:DPL.

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ší wiki 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, který má více funkcí.



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:

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.

 category            = Pages recently transferred from Meta count               = 5 order               = ascending addfirstcategorydate = true 

Příklad opravdu složitého 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 

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ů



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 August.

Syntaxe je

 category = Demo category = Demo 1 

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 August.

 category   = Demo notcategory = Demo 1 

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.

 category = Demo namespace = Help 

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).

 category = Demo redirects = only 

stablepages
stablepages určuje, zda zahrnout stabilní (označené) stránky při použití. 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.

qualitypages
qualitypages určuje, zda se při použití zahrnou stránky kvality (označené na 'nečisté' úrovni) či nikoli. Hodnota může být exclude (neuvádět), include (uvést kvalitu i nekvalitní) nebo only (uvést pouze kvalitní stránky).

Poznámka: Chování stránek kvality se oproti starším verzím změnilo. Ve starších verzích qualitypages=exclude automaticky vytvořené stablepages=pouze nastavit. To už neplatí.

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í.

 category = Demo count   = 2 

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.

 category = Demo offset   = 2 </DynamicPageList>

Demo sloupce

<span id="Details_displayed">

shownamespace
shownamespace zobrazuje jmenný prostor v názvech stránek. Hodnota může být (výchozí, zobrazit v názvu: ) nebo  (nezobrazit v názvu: ).

 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.

 category            = Demo addfirstcategorydate = true </DynamicPageList>

mode
mode určuje formát seznamu. Hodnota může být:
 * unordered — seznam s odrážkami
 * ordered — numbered list
 * none — plain links with line breaks
 * gallery — image gallery, like
 * inline — comma separated list

unordered:  category = Demo mode    = unordered </DynamicPageList>

ordered:

 category = Demo mode    = ordered </DynamicPageList>

plain links:

 category = Demo mode    = none </DynamicPageList>

inline:

 category = Demo mode    = inline </DynamicPageList>

mode=gallery
Gallery is a special mode where the output is an image gallery. If is installed, then the page-image if one exists will be used for non-file pages. Otherwise non-File namespace pages will just be a blank space.

 category = Demo mode    = gallery namespace= file </DynamicPageList>

Gallery mode also supports the options imagewidth (how wide the images should be in gallery, you may need to also set imageheight if using this), imageheight (how high the image should be) galleryshowfilesize (show the image size, like on category pages), galleryshowfilename (show filename like on category pages), imagesperrow (number of images per row in gallery), gallerycaption (caption for gallery).

If addfirstcategorydate is in use, the date is appended to the caption of the image.

Note, gallerycaption at the moment cannot accept links. (but it can accept things like August )

A complex gallery example might be:

 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
suppresserrors hides errors. The value can be true (hide errors) or false (default, show errors).

true:  category      = Dem suppresserrors = true </DynamicPageList>

false:  category      = Dem suppresserrors = false </DynamicPageList>

nofollow
nofollow sets  on the links. This prevents spiders from getting to the page through the link from the DynamicPageList. In general this is useless, as spiders will either be able to index the page from other links, or not at all due to robots.txt/. In general you should not use this option unless you know what you are doing, and have a good reason. The primary usecase is that on the English Wikinews, Google News considers anything linked from the main page to be an article.

 category      = Demo nofollow      = true </DynamicPageList>

googlehack
This is a hack for wikinews. Previously, Google News only considered articles with numbers in them to be news articles, so this appends ?dpl_id=&lt;id of article&gt; 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.

 category      = Demo googlehack      = true </DynamicPageList>

ordermethod
ordermethod determines the order and date to display. The value can be:


 * categoryadd — default, sort by date pages were categorised for first category
 * lastedit — sort by date pages were last edited
 * length — by article length
 * created — by article creation date
 * categorysortkey — essentially alphabetical order by the sort key of the first category
 * sortkey — alias of categorysortkey

It should be noted, that lastedit really sorts by the last time the page was touched. In some cases this is not equivalent to the last edit (for example, this includes permission changes, creation or deletion of linked pages, and alteration of contained templates). If you do not specify a category, some of these order methods will not work&mdash;specifically, categoryadd and categorysortkey fallback to created if there is no  clause.

 category            = Demo addfirstcategorydate = true ordermethod         = lastedit </DynamicPageList>

alphabetical example:

 category            = Demo ordermethod         = sortkey </DynamicPageList>

order
order decides the sort direction. The value can be descending (default, most recent to oldest) or ascending (oldest to most recent).

 category = Demo order    = ascending </DynamicPageList>

Templates
To use inside a template and pass parameters, use parser functions etc., use the  function:

The template page itself will display an error message because the category value is empty on the template page unless you put the template inside tags. Example:

Derived extensions

 *  Derived extensions: outputs in forum style.  is like this but outputs an RSS feed.  is a modified version with more features, but also more resource-expensive. Neither of the latter is used on Wikimedia's sites. 
 * Version 1.8.4 of is fully downward compatible with the extension described here. So the way is open for a re-unification of the different development paths. This is not true any more for the current versions since version 2.01 of DynamicPageList (third-party) does not support.
 * - makes dynamic page lists available to modules.
 * - provides similar functions.