Шаблон:Namespace detect/док
Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted
Ово је {{namespace detect}} мета-шаблон.
Он помаже другим шаблонима да открију на ком типу странице се налазе.
Овај шаблон детектује и групише све именске просторе Википедије у неколико типова:
- main = главни именски простор, Википедијини чланци.
- talk = све стране за разговор, као што су оне које почињу као Разговор:, Разговор са корисником:, Разговор о слици: и тако даље.
- user, wikipedia, image, mediawiki, template, help, category и portal = Остали именски простори изузев страна за разговор.
- other = Сви именски простори који нису спецификовани као параметри овог шаблона. Види објашњење испод.
Напомена! За већину употреба је можда боље да се користе једноставнији шаблони за детектовање именских простора. (Види види још одељак испод.) Овај шаблон је склонији проблемима услед људских грешака као што су погрешно откуцана имена параметара.
Коришћење
Овај шаблон узима један или више параметара који представљају имена типова излистана горе. На пример:
{{namespace detect
| main = текст за чланак
| talk = текст за страну за разговор
| other = текст за остале странице
}}
Ако је шаблон позван из главног (неки чланак) именског простора, даће следећи резултат:
- Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted
Ако је пак позван са било које друге странице која није у главном нити именском простору за разговор, шаблон ће дати следећи резултат:
- Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted
Горњи пример је учинио да шаблон прикаже неки резултат за све типове страница. Међутим, ако не бисмо користили параметар other или ако бисмо га оставили празног, он не би приказивао ништа на осталим страницама. Следи илустрација:
{{namespace detect
| image = текст за страницу слике
| category = текст за страницу категорије
| other =
}}
На свим страницама које не представљају странице слика или категорија, овај шаблон неће дати никакав видљив приказ.
- Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted
Коришћењем празног параметра, може да се постигне да шаблон не приказује ништа на одређеним типовима страница. На пример:
{{namespace detect
| main =
| other = текст за остале странице
}}
Горњи код неће приказати ништа у главном именском простору, али ће вратити следећи резултат на свим другим страницама:
- Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted
Demospace
За тестирање и демонстрацију, овај шаблон може да користи параметар demospace. Demospace узима вредности било ког имена именског простора које овај шаблон користи, укључујући и тип other. Он говори шаблону да се понаша као да се налази на одређеном типу страница. На пример:
{{namespace detect | demospace = main
| main = текст за чланке
| other = текст за остале странице
}}
Небитно на ком типу страница позовемо овај шаблон, вратиће следећи резултат:
- Lua error: Cannot create process: proc_open(/dev/null): failed to open stream: Operation not permitted
Може бити згодно да шаблон који позива овај шаблон узима параметар demospace, и шаље га у {{namespace detect}} шаблон. То се постиже на следећи начин:
{{namespace detect
| demospace = {{{demospace|}}}
| main = текст за чланке
| other = текст за остале странице
}}
Ако је параметар demospace празан или недефинисан, овај шаблон ће детектовати тип странице на уобичајен начин.
Технички детаљи
Шаблони имају проблем са усправним цртама (|) унутар параметара, осим ако се усправна црта налази унутар другог шаблона {{име|параметар1}} или унутар линка [[Помоћ:Шаблон|помоћ]]. Стога шаблони имају проблема када им се као улаз проследе викитабеле, осим ако се уместо усправних црта користи помоћни шаблон {{!}}. Ово отежава коришћење викитабела као параметара шаблонима. Уместо тога се често користи класично ХТМЛ означавање за табеле.
Види још
Шаблони за детектовање именског простора, једноставни за коришћење:
- {{main other}} – За шаблоне за чланке.
- {{talk other}} – За шаблоне за стране за разговор.
- {{image other}} – За шаблоне за слике.
- {{category other}} – За шаблоне за категорије.
- {{main talk other}} – Одваја неке именске просторе.
- {{main talk category other}} – Одваја још именских простора.
Технички детаљи:
- Википедија:Именски простор – Списак свих именских простора.
- Помоћ:Магичне речи – О
{{NAMESPACE}}и слично. - meta:Help:ParserFunctions – О
{{#ifeq:|||}}итд.