Rozšíření:InputBox
| This code base is maintained by the Reader Experience team. Code review only for UBNs or security fixes. |
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Značka, Akce stránky, Hledání |
| Popis | Umožňuje uživatelům přidat předdefinované HTML formuláře do wiki stránek |
| Autoři |
|
| Nejnovější verze | Continuous updates |
| MediaWiki | >= 1.46 |
| Změny v databázi | Ne |
|
|
| Licence | Licence MIT |
| Stáhnout | |
| Přeložte rozšíření InputBox, používá-li lokalizaci z translatewiki.net | |
| Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření InputBox přidává již vytvořené formuláře HTML do wiki stránek. Uživatelé mohou "doplnit" formulář (vkládání textu, vybírání položek z menu atd.) vložením textu do políčka.
InputBox byl původně vytvořen uživatelem Erik Möller z důvodu přidání pole Vytvořit článek do Wikinews.
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
InputBoxve 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/InputBox
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'InputBox' );
Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Příklad
Formulář pro založení nového článku.
Wiki kód
<inputbox>
type = create
width = 30px <!-- s měrnou jednotkou -->
break = no
placeholder = Page title
</inputbox>
Výsledek
Obecná skladba
Input boxy jsou konstruovány třeba takto:
<inputbox>
type = <!-- <input> type == search search2 create comment commenttitle fulltext move -->
bgcolor = <!-- Background color of parent <form>. -->
width = <!-- Šířka textového pole (vyhledávacího pole) ve 'znakcích'. Výchozí: 50 -->
page = <!-- Wiki pagename (i.e. page title) to post comment to, or move page to. No [[X]]. -->
default = <!-- Initial value of the text field. -->
preloadtitle = <!-- Content to prepopulate the title field with for a new comment -->
preload = <!-- Content to prepopulate the source editor with for a new topic/comment, or new page. -->
editintro = <!-- Wiki pagename of page to be transcluded as 'help text' shown above source editor window. -->
hidden = <!-- Any value will hide the text field, but not buttons whose links will still work. -->
searchbuttonlabel = <!-- Visual label for "Search full text" in type == search == fulltext. -->
searchengine = <!-- Either 'MediaSearch' or 'Search'. Defaults to the wiki's value for the search-special-page preference. -->
searchtype = <!-- If 'MediaSearch' is selected for searchengine, the result type. One of 'image' (default), 'video', 'audio', 'page', or 'other'. -->
fulltextbutton = <!-- Visual label for "Search full text" -->
labeltext = <!-- labeltext -->
break = <!-- break -->
namespaces = <!-- namespaces -->
prefix = <!-- prefix -->
placeholder = <!-- placeholder -->
minor = <!-- minor -->
nosummary = <!-- nosummary -->
summary = <!-- summary -->
id = <!-- id -->
inline = <!-- inline -->
dir = <!-- dir -->
preloadparams[] = <!-- preloadparams[] -->
searchfilter = <!-- searchfilter -->
useve = <!-- useve -->
usedt = <!-- usedt -->
arialabel = <!-- arialabel -->
buttonlabel = <!-- Visual label for primary search button. -->
</inputbox>
Tlačítka nejsou přístupná asistenčním technologiím: Prvky tlačítek generované touto šablonou v současné době nemají žádný přístupný popisek. Čtečky obrazovky proto oznamují pouze roli prvku (například "Tlačítko."), nikoli smysluplný popisek. Neexistuje spolehlivý způsob, jak přidat přístupný štítek bez přístupu k HTML kódu.
Parametr type je povinný.
Všechny ostatní parametry jsou nepovinné.
preloadparams[] se mohou objevit více než jednou.
Typy boxů
Výchozí umístění tlačítek "Odeslat" je pod vstupním polem.
Tlačítko "Odeslat" lze přesunout doprava pomocí parametru zalomení řádku, čímž se odstraní zalomení řádku mezi rámečkem a tlačítkem: break=no.
Tlačítko "Odeslat" vpravo je užitečné pro vyhledávací pole, kdy by návrhy vyhledávání jinak zakryly tlačítko vyhledávání pod vyhledávacím polem.
| typ | Příklad | Popis |
|---|---|---|
search
|
Vytvoří vyhledávací pole, které má výchozí šířku 50 znaků. Informace přidané do textového pole se hledají podle přesného názvu stránky (první tlačítko) nebo textu v článcích (druhé tlačítko). | |
create
|
Vytvoří novou stránku. Informací přidanou do textového pole je název stránky, která má být vytvořena (nebo stránky, kterou chcete upravit, pokud již existuje). | |
comment
|
Přidá novou sekci na konec stránky zadané v textovém poli (vytvoří stránku, pokud je nová). | |
commenttitle
|
Přidá nový oddíl se záhlavím oddílu napsaným do textového pole. Titulek lze zadat parametrem default=. Stránka musí být specifikována parametrem page=. Z nějakého důvodu to NEFUNGUJE při použití rozšíření jeho vyvoláním pomocí {{#tag}}, pouze při použití <inputbox>. (zavedeno od rev:47203)
| |
fulltext
|
Hledejte pouze pomocí tlačítka fulltextového vyhledávání, bez tlačítka přesné shody (tlačítko "Jít na"). (zavedeno od rev:45269) | |
move
|
Změní název nebo přesune stránku. This also doesn't work when creating it by invoking a tag. (zavedeno od gerrit:97559) |
Pro type=search2 je výchozí umístění tlačítka vyhledávání vložené vpravo.
V současné době se nezdá, že by bylo možné do tohoto typu vstupního pole přidat další parametry.
Toto vyhledávací pole prohledává celou wiki, na které je umístěno.
| typ | Příklad |
|---|---|
search2
|
Parametry
| Parametr | Popis | Rozsah | Výsledek | Příklad | Kompatibilita | |
|---|---|---|---|---|---|---|
arialabel=
|
Zadejte atribut aria-label do vstupního pole, aby bylo vygenerované označení přístupné pro programy pro čtení z obrazovky Viz ARIA: atribut aria-label. | Všechny typy | <inputbox>
type=search
arialabel=Search the wiki
</inputbox>
|
| ||
bgcolor=
|
Nastaví barvu pozadí tabulky (hodnoty barev HTML). Nepoužívejte uvozovky. | Všechny typy | <inputbox>
type=search
bgcolor=gray
</inputbox>
|
? | ||
width=
|
Nastaví šířku InputBox ve znacích. | Všechny typy | <inputbox>
type=create
width=24
</inputbox>
|
? | ||
default=
|
Výchozí text pro vložení do InputBoxu. | Všechny typy | <inputbox>
type=comment
default=User talk:Eloquence
</inputbox>
|
? | ||
preloadtitle=
|
Výchozí text, který se má přidat jako název nového komentáře. | comment | <inputbox>
type=comment
preloadtitle=My comment title
default=Extension talk:InputBox
</inputbox>
|
| ||
preload=
|
Stránka pod tímto názvem bude při vytvoření nové stránky předem načtena (viz Příručka:Vytváření stránek s přednačteným textem) do prázdného editboxu. | create, comment, commenttitle | <inputbox>
type=create
preload=Log
</inputbox>
|
? | ||
| Zadejte název neexistující stránky do příkladu InputBox výše nebo níže a kliknutím na "Vytvořit článek" nebo "Nová sekce" otestujte tento efekt. | ||||||
editintro=
|
Stránka, která je uvedena pod tímto parametrem, se zobrazí podle pokynů nad editačním oknem. | create, comment | <inputbox>
type=comment
editintro=MediaWiki:Missingcommenttext
</inputbox>
|
? | ||
buttonlabel=
|
Tento štítek bude použit pro hlavní tlačítko formuláře. | Všechny typy | <inputbox>
type=comment
buttonlabel=Přidání nového zdroje
</inputbox>
|
? | ||
hidden=
|
To určuje, že neexistuje žádný InputBox.
Používá se s parametrem |
create, comment | <inputbox>
type=comment
editintro=Extension:InputBox/editintro comment
preloadtitle=Comment title
preload=Extension:InputBox/preload
hidden=yes
default=Extension talk:InputBox
buttonlabel=Napište komentář na diskusní stránce
</inputbox>
|
? | ||
searchbuttonlabel=
|
Tento štítek bude použit pro tlačítko "Hledat celý text" vyhledávacího formuláře. | search, fulltext | <inputbox>
type=search
searchbuttonlabel=Hledej hlouběji
</inputbox>
|
? | ||
searchengine=
|
Pokud je nainstalován parametr Extension:MediaSearch, tento parametr nastaví speciální stránku vyhledávání na hodnotu Search nebo MediaSearch. Pokud se tento parametr nepoužije, použije se preference uživatele (nebo výchozí preference wiki).
|
search, search2 | <inputbox>
type=search
searchengine=MediaSearch
</inputbox>
|
| ||
searchtype=
|
Pokud je hodnota searchengine=MediaSearch, tento parametr konfiguruje, která záložka s výsledky se má zobrazit. Jedna z následujících možností: image, video, audio, page, other
|
search, search2 | <inputbox>
type=search
searchengine=MediaSearch
searchtype=audio
</inputbox>
|
| ||
fulltextbutton=
|
Zobrazit tlačítko fulltextového vyhledávání ve formuláři vyhledávání2 | search2 | <inputbox>
type=search2
searchbuttonlabel=Hledej hlouběji
fulltextbutton=true
</inputbox>
|
? | ||
labeltext=
|
Text, který se zobrazí vedle tlačítka | search2 | <inputbox>
type=search2
searchbuttonlabel=Hledej hlouběji
labeltext=Hledat:
</inputbox>
|
? | ||
break=
|
Zda se má vložit zalomení řádku mezi vstupní pole a tlačítka. Výchozí hodnota je yes (použijte zalomení řádku). | Všechny typy | <inputbox>
type=create
width=24
break=no
</inputbox>
|
? | ||
namespaces=
|
Podpora zaškrtávacích políček jmenného prostoru ve fulltextovém vyhledávání.
S " |
search, fulltext | <inputbox>
type=search
namespaces=Main**,Help
</inputbox>
|
? | ||
prefix=
|
Poznámka: Podtržítka nejsou rozpoznána jako mezery. |
search, fulltext, create |
Tlačítko níže uvádí před názvem |
<inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox>
|
? | |
placeholder=
|
Definujte zástupný text, který se zobrazí ve vstupním poli, pokud je prázdné. | Všechny typy | <inputbox>
type=search
placeholder=Prohledejte tuto wiki
</inputbox>
|
| ||
page=
|
Stránka, na kterou chcete přidat komentář, nebo stránka, kterou chcete přesunout. | comment, move | <inputbox>
type=comment
page=Project:Sandbox
</inputbox>
|
|||
minor=
|
Malá editace. | comment, create | <inputbox>
type=comment
page=Project:Sandbox
minor=true
</inputbox>
|
|||
nosummary=
|
Upravit souhrn (nadpis) není pro nový komentář vyžadováno. | comment | <inputbox>
type=commenttitle
page=Special:Mypage/inputbox test
nosummary=true
</inputbox>
|
|||
summary=
|
Upravit souhrn nebo důvod přesunu. | create, move | <inputbox>
type=create
default=Special:Mypage/inputbox test
summary=Foo
</inputbox>
|
|||
id=
|
Atribut ID pro <form>.
|
Všechny typy | <inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox>
|
for some types | ||
inline=
|
Nastavte InputBox jako vložený prvek (bez zalomení řádku na začátku). Jakákoli hodnota znamená yes/true (ano/pravda). | search2 | Zde je text: | Zde je text: <inputbox>
type=search2
inline=true
width=10
</inputbox>
|
||
dir=
|
Zprava doleva (rtl) nebo zleva doprava (ltr). Výchozí je směrovost jazyka stránky. | Všechny typy | <inputbox>
dir=rtl
type=comment
page=Project:Sandbox
summary=Foo
</inputbox>
|
|||
preloadparams[]=
|
Zadejte parametry pro text předběžného načtení. Viz Vytváření stránek s předem načteným textem. | create, comment, commenttitle | <inputbox>
type=create
preload=Log
preloadparams[]=param1
preloadparams[]=param2
</inputbox>
|
| ||
searchfilter=
|
Zadejte parametry, které se mají připojit k vyhledávání. Podrobnosti viz Nápověda:CirrusSearch. | search, fulltext | <inputbox>
type=search
searchfilter=insource:foo
</inputbox>
|
| ||
useve=
|
Při vytváření stránky použije vstupní pole nový vizuální editor, pokud je rozšíření nainstalováno a tento parametr je nastaven na libovolnou hodnotu. | create, comment | <inputbox>
type=create
break=no
useve=true
</inputbox>
|
|||
usedt=
|
Při přidávání nové sekce otevře vstupní pole Nástroj nového tématu Diskusní nástroje, pokud je rozšíření nainstalováno a tento parametr je nastaven na libovolnou hodnotu. | comment, commenttitle | <inputbox>
type=commenttitle
page=Project:Sandbox
usedt=true
</inputbox>
|
|||
Použití create na existující stránku jednoduše poskytne editační stránku.
V takovém případě je preload ignorován.
Použití comment pro novou stránku funguje.
Texty převzaté z jmenného prostoru MediaWiki: jsou samozřejmě pouze příklady, pro editintro nebo preload lze použít jakoukoli existující stránku.
Bohužel preload zatím nefunguje pro souhrn Upload.
Přizpůsobení pomocí CSS
Vstupní pole v šablonách si můžete přizpůsobit pomocí CSS. Nejprve jej obalte tagy <div> s jedinečným ID a poté pomocí selektorů CSS změňte jeho vzhled.
Také byste mohli samotnému vstupnímu poli přiřadit ID a toto ID použít v selektorech CSS. Můžete také přidat vlastní tlačítko nebo ikonu vyhledávání.
<templatestyles src="Template:Example/styles.css"/><div id = "inputbox-search-wrapper">
{{#tag: inputbox|
type = search
id = inputbox-search
placeholder = Search all pages
namespaces = Main**,Help**
}}<div class = "inputbox-search-icon"></div>
</div>
#inputbox-search-wrapper {
box-sizing: border-box;
height: 32px;
display: flex;
border: 1px solid var(--border-color-base, #a2a9b1);
border-radius: 10px;
}
#inputbox-search-wrapper input {
all: unset;
padding-left: 8px;
padding-top: 6px;
padding-bottom: 6px;
width: 180px !important;
font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;
font-size: 14px;
line-height: 20px;
color: var(--color-base--subtle, #72777d);
}
#inputbox-search-wrapper input::placeholder {
font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;
font-size: 14px;
line-height: 20px;
color: var(--color-base--subtle, #72777d);
}
#inputbox-search-wrapper input.mw-ui-button,
.searchbox .cdx-checkbox--inline,
#inputbox-search-wrapper .cdx-button,
#inputbox-search-wrapper div.mw-ui-checkbox {
display: none;
}
.inputbox-search-icon {
padding-left: 8px;
width: 25px;
background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Vector_search_icon.svg");
background-size: 18px;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
}
Zarovnání
Pokud chcete vytvořit vstupní pole na pravé straně stránky, udělejte něco jako:
<div style="float:right; width:42em">
<inputbox>
type=create
</inputbox>
</div>
Dává:
Použití InputBoxu v šabloně
| Verze MediaWiki: | ≤ 1.45 Gerrit change 1224857 |
Aby bylo možné vytvořit mnoho podobných vstupních polí, lze InputBox použít v šabloně.
Předávání parametrů šablony parametrům InputBoxu však funguje pouze v případě, že je tag <inputbox>...</inputbox> použit prostřednictvím funkce parseru #tag s tagem {{#tag:inputbox | ...}} uvnitř šablony.
Následující příklad je šablona pro vytvoření nové stránky wiki z pojmenované šablony:
{{#tag:inputbox |
type=create
buttonlabel=Vytvořit nový {{{1|článek}}}
preload={{{2|Template:Article}}}
}}
Při vytváření instance šablony první parametr udává položku, která je vytvořena (výchozí: article), jak je uvedeno v tlačítku, druhý parametr udává název šablony použité k vytvoření položky (výchozí: Template:Article).
Například kód pro vstupní pole pro vytvoření nového projektu ze šablony projektu může vypadat takto:
{{CreateNew|project|Template:Project}}
As of version 1.46 template parameters work as expected with the <inputbox>...</inputbox> syntax and it is no longer necessary to use the {{#tag:}} workaround.
Poznámky
Toto rozšíření rozděluje cache parseru na základě jazyka uživatelského rozhraní (git:e18b7e6), aby se zobrazily lokalizované texty popisků.
Související odkazy
| 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: |
- Stable extensions/cs
- Tag extensions/cs
- Page action extensions/cs
- Search extensions/cs
- MediaWikiPerformAction extensions/cs
- ParserFirstCallInit extensions/cs
- SpecialPageBeforeExecute extensions/cs
- MIT licensed extensions/cs
- Extensions in Wikimedia version control/cs
- All extensions/cs
- Extensions bundled with MediaWiki 1.21/cs
- Extensions used on Wikimedia/cs
- Extensions included in BlueSpice/cs
- Extensions included in Canasta/cs
- Extensions available as Debian packages/cs
- Extensions included in Fandom/cs
- Extensions included in Miraheze/cs
- Extensions included in MyWikis/cs
- Extensions included in ProWiki/cs
- Extensions included in semantic::core/cs
- Extensions included in ShoutWiki/cs
- Extensions included in Telepedia/cs
- Extensions included in Weird Gloop/cs
- Extensions included in wiki.gg/cs
- Form extensions/cs
- Page creation extensions/cs
- Search widget extensions/cs
- Edit box extensions/cs
