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í. The value can be exclude (don't list), include (list stable and non-stable. default), or only (only list stable pages). Requires FlaggedRevs to be installed to work.

qualitypages
qualitypages determines whether or not to include quality (flagged at the 'pristine' level) pages when using. The value can be exclude (don't list), include (list both quality and non-quality), or only (only list quality pages).

Note: the behaviour of qualitypages changed from older versions. In older versions qualitypages=exclude automatically made stablepages=only be set. This is no longer the case.

count
count restricts the number of results that are shown. By default, the pages added to the category most recently are shown (see order). Note that the extension will not list more results than the maximum defined in the extension source code.

 category = Demo count   = 2 

offset
offset starts the list from somewhere other than the first page on the list. For example, this can be used with count to make multi-column layouts.

 category = Demo offset   = 2 </DynamicPageList>

Column demo

shownamespace
shownamespace displays the namespace in the page names. The value can be (default, display in name: ) or  (don't display in name: ).

 category     = Demo shownamespace = false </DynamicPageList>

addfirstcategorydate
addfirstcategorydate shows the date each article was added to category. The value can be true (display date), false (default, don't display date), or a date specifier (ymd, md, dm, dmy, mdy, and ISO 8601). If many categories are specified, it uses the first category. The linked page names are prepended with the date formatted according to your local MediaWiki date display preferences.

 category            = Demo addfirstcategorydate = true </DynamicPageList>

mode
mode determines the format of the list. The value can be:
 * unordered — bulleted list
 * 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.