Predloga:Infopolje

Iz Wikipedije, proste enciklopedije
Jump to navigation Jump to search
Documentation icon Dokumentacija predloge[predogled] [uredi] [zgodovina] [osveži]
{{{title}}}
{{{above}}}
{{{subheader}}}
{{{subheader2}}}
......
{{{image}}}
{{{caption}}}
{{{image2}}}
{{{caption2}}}
......
{{{header1}}}
( ali )
{{{label1}}}{{{data1}}}
( ali )
{{{data1}}}
{{{header2}}}
( ali )
{{{label2}}}{{{data2}}}
( ali )
{{{data2}}}
( itd )
{{{below}}}

Ta predloga je meta-predloga: predloga, ki se uporablja za gradnju drugih predlog. Opozorilo: V splošnem naj se ne uporablja direktno v člankih. Pomoč:Infopolje vsebuje osnovna pojasnila o vsebini in obliki infopolj; Wikipedija:Slogovni priročnik/Infopolja vsebuje dodatne slogovne smernice. Za seznam že pripravljenih infopolj, glejte Wikipedija:Seznam infopolj in Kategorija:Infopolja.

Uporaba

{{Infopolje}} je meta-predloga, uporablja se jo pri ustvarjanju drugih predlog: uporablja se za organiziranje dejanske predloge {{Infopolje ImeInfopolja}} (kot je {{Infopolje Zgradba}}).

Koda v predlogi [[Predloga:Infopolje ImeInfopolja]] naj izgleda približno takole, poenostavljeno:

{{Infopolje
| name     = {{{name|{{PAGENAME}}}}}
| image    = {{{image|}}}
| caption1 = {{{caption|}}}}}}

| label1   = Bivša imena
|  data1   = {{{former_names|}}}

| header2  = Splošne informacije

| label3   = Status
|  data3   = {{{status|}}}
... <!-- itd. -->
}}

Opcijski kontrolni parametri

name 
Če je prisoten ta parameter, se bodo na dnu infopolja prikazale povezave »prikaži predlogo/pogovor o predlogi/uredi predlogo«. V parameter lahko vpišete tudi {{subst:PAGENAME}}. Če ta parameter izpustite se povezave ne bodo pokazale. Ta parameter se uporablja bolj redko, ker običajno ne želimo, da uporabniki v članku klikajo na te povezave, namesto, da bi uredili podatke v infopolju.
child 
Za podrobnejša pojasnila, glejte poglavje gnezdenje. Če je parameter nastavljen na "yes", naj ta child infopolje ima naslov, ampak naj ne vsebuje parametra name. Prednastavljeno je ta parameter prazen, da ga aktivirate mu nastavite "yes".
subbox 
See the Subboxes section for details. If this is set to "yes", this subbox should be titled but have no name parameter. This parameter is empty by default, set to "yes" to activate it. It has no effect if the child parameter is also set to "yes".
decat 
If this is set to "yes", the current page will not be autocategorized in a maintenance category when the generated infobox has some problems or no visible data section. Leave empty by default or set to "yes" to activate it.

Vsebinski parametri

Naslov

Obstajata dve različni poti za vstavljanje naslova v infopolje. Pri prvi je naslov na vrhu zunaj tabele, pri drugi pa je naslov na vrhu znotraj tabele, v najvišji celici. Lahko se uporabita tudi oba parametra naenkrat, samo enega izmed njiju ali pa tudi nobenega (čeprav to ni priporočeno):

title 
Naslov na vrhu zunaj tabele
above 
Naslov v najvišji celici tabele.
subheader(n) 
dodatna polja za naslove, ki se izpišejo med {{{title}}} in {{{above}}}, ampak pred slikami.

Zgledi:

Naslov nad tabelo
Podnaslov infopolja
{{Infopolje
 | name = {{subst:PAGENAME}}
 | title     = Naslov nad tabelo
 | subheader = Podnaslov infopolja
 | header = (preostali del infopolja gre tukaj)
}}
Naslov v najvišji celici tabele
Podnaslov infopolja
Drugi podnaslov infopolja
{{Infopolje
 | name = {{subst:PAGENAME}}
 | above      = Naslov v najvišji celici tabele
 | subheader  = Podnaslov infopolja
 | subheader2 = Drugi podnaslov infopolja
 | header = (preostali del infopolja gre tukaj)
}}

Slike, fotografije

image(n) 
slike, ki se prikažejo na vrhu infopolja. Uporabite celotno sintakso za slike [[Slika:example.png|200px|alt=Prime alt besedila]]. Po privzetih nastavitvah je slika centrirana.
caption(n) 
Besedilo pod slikami

Osnovni podatki

header(n) 
Besedilo v glavi v vrstici n
label(n)
Besedilo v oznaki v vrstici n.
data(n)
Besedilo podatkov v vrstici n.
below
Besedilo v celici na dnu tabele. Celica je namenjena opombam, glej-tudi povezavam in podobnim informacijam.

Opomba: trenutno header, label in data z isto n-vrednostjo niso medsebojno izključujoče; prikazani bodo vsi. glej izvedbo header4, label4 indata4 v poglavju primeri.

Number ranges

To allow flexibility when the layout of an infobox is changed, it may be helpful when developing an infobox to use non-contiguous numbers for header and label/data rows. Parameters for new rows can then be inserted in future without having to renumber existing parameters. For example:

 | header3  = Section 1
 |  label5  = Label A
 |   data5  = Data A
 |  label7  = Label C
 |   data7  = Data C
 | header10 = Section 2
 |  label12 = Label D
 |   data12 = Data D

It is also possible to automatically renumber parameter names by using User:Frietjes/infoboxgap.js or Module:IncrementParams.

Ustvarjanje neobveznih polj

Vrstica z oznako (label) brez podatkov (data) se ne prikaže. To omogoča enostavno ustvarjanje neobveznih polj z vsebino. Da bi ustvarili vrstico uporabite naslednje parametre:

|label5 = Populacija
|data5  = {{{populacija|}}}

Če torej v članku ni definiran parameter populacija, se ta vrstica ne bo prikazala.

Za bolj zapletena polja, ki imajo prednastavljeno vsebino (npr. merske enote) in bi bila zaradi tega prikazana, tudi če bi bil parameter prazen, je potrebno določiti stavek »#if«. Na primer, »#if« v naslednjem primeru računalnik prebere: »#if:če je določen parameter masa|potem ga prikaži, za njim pa izpiši kg«:

|label6 = Masa
|data6  = {{#if:{{{masa|}}} |{{{masa}}} kg}}

Več o stavkih #if lahko preberete na meta-wiki.
Na podoben način lahko naredite neobvezno tudi glavo (header). Če želite, da se glava prikaže, le če so izpolnjeni parametri pod njo, lahko uporabite naslednji vzorec kot primer:

{{Infopolje
|name    = {{subst:PAGENAME}}
|title   = Primer neobvezne glave
|header1 = {{#if:{{{podatek_ena|}}}{{{podatek_dva|}}}{{{podatek_tri|}}} |Neobvezna glava}}
|label2  = Podatek ena
|data2   = {{{podatek_ena|}}}
|label3  = Podatek dva
|data3   = {{{podatek_dva|}}}
|label4  = Podatek tri
|data4   = {{{podatek_tri|}}}
}}

Polje header1 (glava1) bo prikazano le, če bo kateri izmed sledečih podatkov/parametrov definiran. Če nobeden izmed teh ni definiran, potem se tudi glava ne bo prikazala.

Hiding headers when all data fields are hidden

You can also make headers optional in a similar way. Consider this example:

Example of an undesirable header
Undesirable header
Static header
Static itemStatic value
{{Infopolje
 | title   = Example of an undesirable header
 | header1 = Undesirable header
 |  label2 = Item 1      |   data2 =
 |  label3 = Item 2      |   data3 =
 |  label4 = Item 3      |   data4 =
 | header5 = Static header
 |  label6 = Static item |   data6 = Static value
}}

If you want the first header to appear only if one or more of the data fields that fall under it are filled, one could use the following pattern as an example of how to do it:

Example of an optional header
Static header
Static itemStatic value
{{Infopolje
 | title   = Example of an optional header
 | header1 = {{ #if: {{{item1|}}}{{{item2|}}}{{{item3|}}} | Optional header }}
 |  label2 = Item 1      |   data2 = {{{item1|}}}
 |  label3 = Item 2      |   data3 = {{{item2|}}}
 |  label4 = Item 3      |   data4 = {{{item3|}}}
 | header5 = Static header
 |  label6 = Static item |   data6 = Static value
}}

header1 will be shown if any of item1, item2, or item3 is defined. If none of the three parameters are defined the header won't be shown and no empty row appears before the next static content. The trick to this is that the "#if" returns false only if there is nothing whatsoever in the conditional section, so only if all three of item1, item2 and item3 are undefined will the if statement fail.

Note that such trick may be sometimes very complex to test if there are many data items whose value depends on complex tests (or when a data row is generated by a recursive invokation of this template as a subbox). Ideally, the Lua module supporting this template should now support a new way to make each header row autohideable by detecting if there is at least one non-empty data row after that header row (a parameter like "autohide header1 = yes", for example, would remove the need to perform the "#if" test so that we can just to define "header1 = Optional header"),

Footer

below 
Text to put in the bottom cell. The bottom cell is intended for footnotes, see-also, and other such information.

Prikaz parametrov

Italic naslovi

Naslovi člankov z infopolji so lahko zapisani s poševno pisavo (italic) - parameter italic title.

  • V infopolju vključi poševni naslov: |italic title={{{italic title|}}}.
  • Kot privzeto izključi nekatere poševne naslove: |italic title={{{italic title|no}}}
  • Če ne želiš poševno zapisanih naslovo, tega parametra ne vključi.

Neobvezno CSS oblikovanje

bodystyle 
Vpliva na celotno infopolje.
titlestyle 
Vpliva samo na naslovno vrstico. Dodajanje barve za ozadje ni priporočeno, saj je besedilo zunaj tabele.
abovestyle 
Vpliva samo na najvišjo celico v tabeli. Privzeta nastavitev je velika velikost znakov (font-size:large), saj se celica po navadi uporablja kot naslov. Za navadno velikost besedila uporabite oblikovanje »font-size:medium«.
imagestyle 
Vpliva na oblikovanje celice, v kateri je nameščena slika. Prav tako vpliva tudi na besedilo pod sliko, vendar se za to uporablja parameter captionstyle, za primer, da se v prihodnosti besedilo pod sliko vstavi v lastno celico.
captionstyle 
Vpliva na besedilo pod sliko.
rowstyle(n) 
Ta paremeter se vrine v atribut style za določeno vrstico.
headerstyle 
Vpliva na celice glav.
labelstyle 
Vpliva na celica oznak.
datastyle 
Vpliva na vse podatkovne celice.
belowstyle 
Vpliva samo na celico na dnu tabele.

HTML razredi

bodyclass
Parameter označuje atribut "class" za celotno infopolje.
titleclass 
Parameter označuje atribut "class" za naslovno vrstico zunaj tabele.
aboveclass 
Parameter označuje atribut "class" za naslovno celico na vrhu znotraj tabele.
aboverowclass 
Parameter označuje atribut "class" za celotno vrstico v tabeli v kateri se nahaja celica "above".
subheaderclass 
Parameter označuje atribut "class" podpoglavje infopolja.
subheaderrowclass 
Parameter označuje atribut "class" za celotno vrstico v tabeli v kateri se nahaja podpoglavje.
imageclass
Parameter označuje atribut »class« za sliko.
imagerowclass1, imagerowclass2 
Parameter označuje atribut "class" za celotno vrstico v tabeli v kateri se nahajajajo slike .
rowclass(n) 
Parameter označuje atribut "class" za določeno vrstico vključno z label ali drogim besedilom za razlago.
class(n)
Parameter označuje atribut »class« za določeno celico. Če celica ne obstaja, potem nima nobenega vpliva.
belowclass
Parameter označuje atribut »class« za spodnjo "below" celico.

Mikrooblike

Ta predloga podpira tudi dodajanje informacij o mikrooblikah. To storimo z dodajanjem parametrov »class« različnim celicam. Za označitev infopolja, da vsebuje hCard informacijo, dodaj npr. sledeče parametre:

|bodyclass = vcard

In za vsako vrstico, ki vsebuje podatke, ki so del vcard-a, dodaj ustrezni class parameter:

|class1 = fn
|class2 = org
|class3 = tel

...in tako naprej. "above" in "title" imata prav tako lahko določen class, ker običajno prikazujeta ime subjekta infopolja.

Primeri

Test Infopolje
Example.png
Napis pod sliko
Definirana je samo glava
Definirani so samo podatki
Definirani so vsi tri parametri (glava)
Definirana sta oznaka in podatek (oznaka)Definirana sta oznaka in podatek (podatek)
Besedilo opomb
{{Infopolje
|name    = Infopolje/dok
|title   = Test Infopolje
|image   = [[Slika:example.png|200px]]
|caption = Napis pod sliko

|headerstyle  = background:#ccf;
|labelstyle   = background:#ddf;

|header1 = Definirana je samo glava
|label1  = 
|data1   = 
|header2 = 
|label2  = Definirani so samo podatki - se ne izpiše (potrebuje tudi data)
|data2   = 
|header3 = 
|label3  = 
|data3   = Definirani so samo podatki
|header4 = Definirani so vsi tri parametri (glava)
|label4  = se ne izpiše (ista številka kot header)
|data4   = se ne izpiše (ista številka kot header)
|header5 = 
|label5  = Definirana sta oznaka in podatek (oznaka)
|data5   = Definirana sta oznaka in podatek (podatek)

|belowstyle = background:#ddf;
|below = Besedilo opomb
}}

Iz tega primera je razvidno, da se oznaka ne prikaže, kadar je definirana brez podatkov. Kadar so definirana vsa tri polja v isti vrstici, ima prednost glava, zato se oznaka (label) in podatek (data) ne prikažeta.

Slog CSS naslednjega primera je bodystyle = width:20em; in labelstyle = width:33%;

Test Infopolje
Oznaka 1Podatek 1
Oznaka 2Podatek 2
Oznaka 3Podatek 3
Glava 4
Oznaka 5Podatek 5: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Besedilo opomb

Gnezdenje

Predloga infopolje je lahko gnezdena znotraj drugega infopolja z uporabo parametra |child=.

Naslov nad tabelo
Prva podskupina
Oznaka 1.1Podatek 1.1
Druga podskupina
Oznaka 2.1Podatek 2.1
Besedilo opomb
{{Infopolje
| title = Naslov nad tabelo
| data1 = {{Infopolje
  | child = yes
  | title = Prva podskupina
  | label1= Oznaka 1.1
  | data1 = Podatek 1.1
}}
| data2 = {{Infopolje
  | child = yes
  | title = Druga podskupina
  | label1= Oznaka 2.1
  | data1 = Podatek 2.1
}}
|belowstyle = 
|below = Besedilo opomb
}}

Subboxes

An alternative method for embedding is to use |subbox=yes, which removes the outer border from the infobox, but preserves the interior structure. One feature of this approach is that the parent and child boxes need not have the same structure, and the label and data fields are not aligned between the parent and child boxes because they are not in the same parent table.

Main 1
Main 2
Sub 3-1
Sub 3-2
Label 3-3Data 3-3
Label 4-1Data 4-1
Label 5Data 5
Main 6
{{Infopolje
 | headerstyle = background-color:#eee;
 | labelstyle  = background-color:#eee;
 | header1 = Main 1
 | header2 = Main 2
 |   data3 = {{Infopolje | subbox = yes
    | headerstyle = background-color:#ccc;
    | labelstyle  = background-color:#ddd;
    | header1 = Sub 3-1
    | header2 = Sub 3-2
    |  label3 = Label 3-3    |   data3 = Data 3-3
   }}
 |   data4 = {{Infopolje | subbox = yes
    | labelstyle  = background-color:#ccc;
    |  label1 = Label 4-1    |   data1 = Data 4-1
   }}
 |  label5 = Label 5 |   data5 = Data 5
 | header6 = Main 6
}}

Similar embedding techniques may be used within content parameters of some other templates generating tables (such as Sidebar) :

{{Sidebar
 | navbar = off
 | headingstyle = background-color:#eee;
 | heading1 = Heading 1
 | heading2 = Heading 2
 | content3 = {{Infopolje | subbox = yes
    | headerstyle = background-color:#ccc;
    | labelstyle = background-color:#ddd;
    | header1 = Sub 3-1
    | header2 = Sub 3-2
    |  label3 = Label 3-3 |   data3 = Data 3-3
   }}
 | content4 = {{Infopolje | subbox = yes
    | labelstyle = background-color:#ccc;
    |  label1 = Label 4-1 |   data1 = Data 4-1
   }}
 | heading5 = Heading 5
}}

Note that the default padding of the parent data cell containing each subbox is still visible, so the subboxes are slightly narrower than the parent box and there's a higher vertical spacing between standard cells of the parent box than between cells of distinct subboxes.

Controlling line-breaking in embedded bulletless lists

Template {{nbsp}} may be used with {{wbr}} and {{nowrap}} to control line-breaking in bulletless lists embedded in infoboxes (e.g. cast list in {{Infobox film}}), to prevent wrapped long entries from being confused with multiple entries. See Template:Wbr/doc#Controlling line-breaking in infoboxes for details.

Popolna prazna sintaksa

(Opomba: število možnih vrstic ni omejeno; spodaj je prikazanih le 20, ker so večja infopolja relativno redka. Potrebno je le podaljšano oštevilčevanje. Parametri mikroformata "class" so prav tako izpuščeni, ker se ne uporabljajo pogosto.)

{{Infopolje
| name           = {{subst:PAGENAME}}
| child          = {{{child|}}}
| subbox         = {{{subbox|}}}
| italic title   = {{{italic title|no}}}
| bodystyle      = 

| titlestyle     = 
| abovestyle     = 
| subheaderstyle = 
| title          = 
| above          = 
| subheader      = 

|   imagestyle   = 
| captionstyle   = 
|   image        = 
| caption        = 
|   image2       = 
| caption2       = 

| headerstyle    = 
|  labelstyle    = 
|   datastyle    = 
| header1  = 
|  label1  = 
|   data1  = 
| header2  = 
|  label2  = 
|   data2  = 
| header3  = 
|  label3  = 
|   data3  = 
| header4  = 
|  label4  = 
|   data4  = 
| header5  = 
|  label5  = 
|   data5  = 
| header6  = 
|  label6  = 
|   data6  = 
| header7  = 
|  label7  = 
|   data7  = 
| header8  = 
|  label8  = 
|   data8  = 
| header9  = 
|  label9  = 
|   data9  = 
| header10 = 
|  label10 = 
|   data10 = 
| header11 = 
|  label11 = 
|   data11 = 
| header12 = 
|  label12 = 
|   data12 = 
| header13 = 
|  label13 = 
|   data13 = 
| header14 = 
|  label14 = 
|   data14 = 
| header15 = 
|  label15 = 
|   data15 = 
| header16 = 
|  label16 = 
|   data16 = 
| header17 = 
|  label17 = 
|   data17 = 
| header18 = 
|  label18 = 
|   data18 = 
| header19 = 
|  label19 = 
|   data19 = 
| header20 = 
|  label20 = 
|   data20 = 

| belowstyle     = 
| below          = 
}}

Infopolja in stil uporabnika (user style)

Uporabniki lahko nastavijo CSS uporabnika, ki v brskalniku skrije katerokoli infopolje.

Za skritje infopolja dodajte v samostojno vrstico Posebno:MojaStran/common.css (za vse kože ali Posebno:MojaStran/skin.css le za trenutno kožo):

.infobox { display: none; }


Glej tudi

Sledilne kategorije