Jump to content

Extension:DynamicPageList

From mediawiki.org
This page is a translated version of the page Extension:DynamicPageList and the translation is 100% complete.
Toto rozšíření používá Wikimedie. Rozšíření:DynamicPageList (rozcestník) je rozcestí tohoto rozšíření, udržované mimo nadaci WikiMedia.
Příručka k rozšířením MediaWiki
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
  • $wgDLPmaxCategories
  • $wgDLPMaxCacheTime
  • $wgDLPAllowUnlimitedResults
  • $wgDLPAllowUnlimitedCategories
  • $wgDLPQueryCacheTime
  • $wgDLPMaxResultCount
  • $wgDLPMaxQueryTime
‎<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žce extensions/.
    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' );
    
  • Yes 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í