Skabelon:Infoboks med filter/sandkasse
![]() | Dette er skabelonsandkassesiden for Skabelon:Infoboks med filter (forskel). |
![]() | Denne skabelon bruger Lua: |
Skabelon:Infoboks med filter virker med to undtagelser på samme måde som Skabelon:Infoboks, så der henvises som udgangspunkt til dokumentationen for denne.
En parameter kan ændre eller slette andre parametre
[rediger kildetekst]Den første ændring i forhold til Skabelon:Infoboks er, at er det muligt med en særlig kode i parameterværdierne at ændre indholdet i andre parametre eller helt fjerne dem. Koden hertil er unicode-tegn nr. 60019 (hexadecimalt EA73) som vises – eller måske ikke vises for nogle – sådan her: "". Tegnet er et tilfældigt valgt tegn i et område reserveret til privat brug, så det skulle aldrig ellers optræde i parametre til Skabelon:Infoboks. Tegnet kan fås med skabelonen {{Nyt felt}}.
Hvis en parameter til skabelonen indeholder denne kode, vil der ske det at parameterværdien deles op i dele med {{Nyt felt}} som skilletegn.
Den første del, dvs. den tekst som står foran den første brug af {{Nyt felt}}, bliver nyt indhold af parameteren.
Alle efterfølgende dele splittes ved det første lighedstegn i delen til et navn og en værdi. Parameteren med navnet enten oprettes eller ændres til at have værdien. Hvis værdien er tom, vil parameteren slettes.
Eksempelvis hvis man laver parametrene
| label5 = | data5 = 45.000 (2017) {{Nyt felt}} label5=Indbyggere {{Nyt felt}} data6=56,3 pr. km² | label6 = Befolkningstæthed | data6 =
vil de blive ændret til
| label5 = Indbyggere | data5 = 45.000 (2017) | label6 = Befolkningstæthed | data6 = 56,3 pr. km²
før infoboksen bliver lavet. Formålet med dette er at give mulighed for at få oplysninger fra Wikidata som hører sammen (indbyggertal, årstal og befolkningstæthed i eksemplet) samlet og sikre konsistens. Hvis der således i eksemplet havde været en anden værdi for data6 (befolkningstæthed) på forhånd ville den være blevet overskrevet af værdien som kom fra data5, så at man er sikker på at de to værdier passer sammen.
Parametre kan fjernes automatisk hvis andre parametre ikke er til stede eller er tomme
[rediger kildetekst]Denne anden ændring i forhold til Skabelon:Infoboks er betinget fjernelse af parametre ved hjælp af særlige kommando-parametre hvis navn begynder med "arg filter fjern" og ender med navnet på anden parameter, og hvis værdi er en liste med et antal parameternavne adskilt af komma. Parameteren i kommando-parameterens navn vil blive fjernet såfremt alle parametrene i parameterværdien ikke er til stede eller er tomme. Ekstra mellemrum, tabulatortegn og linjeskift omkring navnene er tilladte og bliver ignoreret. Et eksempel:
| header60 = Andet | arg filter fjern header60 = data61, data62 | label61 = Tidszone: | data61 = {{#if: {{{tidszone|}}} | {{#iferror: {{#expr: {{{tidszone}}} }} | {{{tidszone}}} | [[UTC]] {{{tidszone}}} }} | {{Wikidata-emne | P421 | ikon=ja | q={{{q|}}} | feltnavn=tidszone | wikidata={{{wikidata|}}} | ingen_wikidata={{{ingen_wikidata|}}} }} }} | label62 = Højde [[Meter over havets overflade|m.o.h.]]: | data62 = {{#if: {{{højde|}}} | {{{højde|}}} m | {{Wikidata-tal | P2044 | ikon=ja | q={{{q|}}} | feltnavn=højde | wikidata={{{wikidata|}}} | ingen_wikidata={{{ingen_wikidata|}}} | enhed=m| visusikkerhed=nej }} }}
I eksemplet vil parameteren "header60" (overskriften "Andet") blive fjernet hvis der ikke er nogen tidszone (data61) eller højde (data62) at vise, hverken ved brug af parametre til infoboksen eller fra Wikidata. Derved undgås at gentage de komplicerede skabelonkald i koden for headeren for at teste om der hentes data fra Wikidata.
Dokumentationen ovenfor er transkluderet fra Skabelon:Infoboks med filter/doc. (redigér | historik) Brugere kan eksperimentere i denne skabelons undersider sandkasse (redigér | forskel) og testcases (opret). Tilføj venligst kategorier til /dok-undersiden. Undersider til denne skabelon. |