Extension:Variables/cs

Category:ISC licensed extensions/cs
Příručka k rozšířením MediaWiki
Variables
Stav rozšíření: stabilníCategory:Stable extensions/cs
Implementace Funkce analyzátoru Category:Parser function extensions/cs
Popis Zavádí funkce analyzátoru (parseru) pro práci s proměnnými v rozsahu stránky.
Autoři
Správci MGChecker
Nejnovější verze 2.5.1 (2019-07-11)
MediaWiki 1.29+Category:Extensions with manual MediaWiki version
PHP 5.5+
Změny v databázi Ne
Licence Licence ISC
Stáhnout Category:Extensions in Wikimedia version control/cs
README
RELEASE-NOTES
  • $wgVariablesAreVolatile
  • $wgVariablesDisabledFunctions
Čtvrtletní stahování 102 (Ranked 42nd)
Veřejné wiki používající rozšíření 1,808 (Ranked 201st)
Přeložte rozšíření Variables, používá-li lokalizaci z translatewiki.net
Vagrant role variables
Problémy Otevřené úkoly · Nahlásit chybu
Category:All extensions/cs
Varování Varování: Toto rozšíření není kompatibilní s plány na paralelní analýzu, jak je zamýšleno použitím Parsoid . Budoucnost tohoto rozšíření je proto nejistá a očekává se, že se během několika let stane nekompatibilním se standardním analyzátorem MediaWiki. Další informace naleznete v části T250963 a Žádná podpora pro sekvenční zpracování značek rozšíření .
Chcete-li se vyhnout upozornění na ukončení podpory týkající se háčku InternalParseBeforeSanitize pro MediaWiki 1.35 - MediaWiki 1.38 nebo chybějící funkci analyzátoru #var_final v MediaWiki 1.39 +, aktualizujte prosím na nejnovější verzi (prozatím master větev). Další informace naleznete na stránkách T276627 a T250963.

Rozšíření Variables umožňuje definovat proměnnou na stránce, použít ji později na stejné stránce nebo zahrnutých šablonách, změnit její hodnotu, případně na hodnotu danou výrazem ve smyslu staré hodnoty atd. .

Podobá se šabloně, je pouze velmi jednoduché a má rozsah pouze na jednu stránku. Takže na stránce můžete použít mnoho proměnných, aniž byste zpomalili wiki s velkým množstvím šablon. Pro dosažení nejlepších výsledků zkombinujte toto rozšíření s rozšířením ParserFunctions.

Toto rozšíření nebude povoleno pro wikinách provozovaných nadací Wikimedia Foundation (WMF).[1][2][3][4] Viz alternativy.

Přiřazení hodnoty proměnné

#vardefine

  • {{#vardefine:variablename | specifiedvalue }}

Přiřadí hodnotu specifiedvalue (již existující nebo tímto zavedenou) proměnné variablename.

  • Example: {{#vardefine:iconwidth|25}} vytváří iconwidth = 25

#vardefineecho

  • {{#vardefineecho:variablename | specifiedvalue }}

Funguje přesně jako #vardefine, ale vytiskne se ovlivněná hodnota.

  • Příklad: vytváří iconwidth = {{#vardefineecho:iconwidth|25}}

Použití hodnoty proměnné

#var

Hodnota proměnné variablename je vytvořena pomocí

  • {{#var:variablename}}

Pokud není definována, vytvoří se prázdný řetězec. Nezobrazuje chybovou zprávu.

Je možné získat výchozí hodnotu pro případ, že proměnná není definovaná nebo je neplatná:

  • {{#var:variablename | defaultvalue }}

To je ekvivalentní s:

  • {{#if: {{#var:variablename }} | {{#var:variablename }} | defaultvalue }}

ale je to mnohem kratší a lépe uspořádáno. Před verzí 2.0 však byla výchozí hodnota vždy rozšířena. Od verze 2.0 se standardně rozšiřuje pouze v případě, že je skutečně používána.

Hodnotu lze použít ve funkcích analyzátoru atd.

#varexists

  • {{#varexists:variablename }} vrátí 1, pokud je proměnná již definována. Pokud proměnná není definována, návratová hodnota je neplatná.

Podporuje druhý a třetí parametr pro nahrazení těchto hodnot.

  • {{#varexists:variablename | if-value | else-value }}

To je ekvivalentní s:

  • {{#if: {{#varexists: variablename }} | if-value | else-value }}

ale je to mnohem kratší a lépe uspořádáno. Před verzí 2.5 však byly obě vždy rozšířeny. Od verze 2.5 se hodnoty if a else rozšíří pouze tehdy, když jsou jejich hodnoty skutečně zadány.

#var_final

Experimentální funkce představená ve Variables 2.0. Tato funkce vypíše konečnou, poslední hodnotu proměnné na konci vykreslování stránky. Hodnota bude přirozeně vložena poté, co analyzátor projde celým označením wiki, takže tuto funkci nelze použít v jiných funkcích, protože se očekává, že bude použita správná hodnota. Příklad:

  • {{#var_final:variablename | defaultvalue }}

Hodnota default (výchozí) bude použita, pokud proměnná ve fázi vykreslování poslední stránky neexistuje nebo pokud je její hodnotou prázdný řetězec. Výchozí hodnota se rozšíří přímo tam, kde je funkce použita, takže parametr bude rozšířen, i když to nebude potřeba.

Příklady

Pro použití #expr musí být také nainstalováno ParserFunctions.

Výpočet x = 2*a + b:

  • {{#vardefine:x|{{#expr:2*{{#var:a}}+{{#var:b}}}}}}

Přičíst jedna k n:

  • {{#vardefine:n|{{#expr:{{#var:n}}+1}}}}

Instalace

  • Stáhněte soubor/y a vložte je do adresáře pojmenovaného Variables 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/Variables
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'Variables' );
    
  • Nakonfigurujte podle potřeby
  • Yes Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Konfigurace

Toto rozšíření poskytuje dva konfigurační parametry:

$egVariablesAreVolatile
Umožňuje zakázat rámec analyzátoru, který je rozšířením označen jako nestálý, tj. zakázat ukládání šablon do mezipaměti.
Výchozí: true;
$egVariablesDisabledFunctions
Umožňuje zakázat určité funkce analyzátoru poskytované tímto rozšířením.
Výchozí: [];
Příklad: [ 'var_final', 'vardefineecho' ];

Kompatibilita

Doporučená verze rozšíření Variables pro poslední vydání MediaWiki je uvedena níže. Starší verze rozšíření mohou fungovat také, ale nejsou testovány pro nová vydání MediaWiki.


Alternativy

Protože toto rozšíření nebude povoleno pro wiki provozované nadací Wikimedia Foundation (WMF), zde jsou některé alternativy:[1][2][3][4]

  • Pokud používáte proměnné jako mezipaměť pro složité operace, můžete převést sekci, kde je potřebujete, na šablonu a místo toho předat požadované informace jako parametry šablony. Toto bude fungovat, dokud nedosáhnete limitu hloubky rozšíření, které lze v případě potřeby zvýšit.
  • Pokud používáte proměnné k provádění složitějších operací se šablonami, než je možné s jednoduchým Rozšíření:ParserFunctions, a pokud máte dostatečná oprávnění na serveru, můžete místo toho použít funkci Lua Scribunto. Možná nebudete moci nainstalovat Scribunto na sdílený hosting. Všimněte si, že to nepřidává podporu pro globální proměnné. Extension:VariablesLua však přidává rozhraní Scribunto pro rozšíření Variables.
  • Nepoužívejte proměnné, místo toho duplikujte informace, které potřebujete, jako proměnnou. Pokud jsou tyto informace získány složitým voláním šablony, může utrpět výkon. To bude fungovat, dokud nedosáhnete limitu počtu uzlů.
  • Pokud potřebujete proměnné pouze pro automatické číslování, můžete se podívat na Extension:NumerAlpha.

Související odkazy

Poznámky pod čarou

Category:Modifiable variables extensions/cs
Category:All extensions/cs Category:Extensions in Wikimedia version control/cs Category:Extensions included in BlueSpice/cs Category:Extensions included in Canasta/cs Category:Extensions included in Fandom/cs Category:Extensions included in Miraheze/cs Category:Extensions included in Open CSP/cs Category:Extensions included in ProWiki/cs Category:Extensions included in Telepedia/cs Category:Extensions included in WikiForge/cs Category:Extensions included in semantic::core/cs Category:Extensions included in wiki.gg/cs Category:Extensions with manual MediaWiki version Category:ISC licensed extensions/cs Category:Modifiable variables extensions/cs Category:ParserClearState extensions/cs Category:ParserFirstCallInit extensions/cs Category:Parser function extensions/cs Category:Stable extensions/cs