Toggle menu
309,3 tis.
59
18
530,1 tis.
Hrvatska internetska enciklopedija
Toggle preferences menu
Toggle personal menu
Niste prijavljeni
Your IP address will be publicly visible if you make any edits.

Pomoć:Kako napraviti skupni predložak sa preload parametrima

Izvor: Hrvatska internetska enciklopedija

U ovoj kuharici se objašnjava kako napraviti predložak i odgovarajući lua modul za stvaranje predložaka s poveznicama na niz stranica pri čemu se crvene poveznice stvaraju s dodatnim parametrima koje omogućavaju da se tek otvorena stranica stvari s gotovim tipskim člankom.

Stvaranje tipskog članka

Prvi korak je stvaranje tipskog članka, primjer: Wikipedija:Tipski članci/Naselje u Sloveniji

Pri tome uzmete neki primjer članka i sve promjenjive dijelove zamijenite sa parametrima $1 .. $n. Ako želite da sam tipski članak izgleda uredno, možete dodati:

<noinclude>dio wiki koda koji će se vidjeti samo u tipskom članku</noinclude> i
<includeonly>dio wiki koda koji se neće vidjeti u tipskom članku, ali će biti uključen kod stvaranja konkretnog članka</includeonly>
{{Infookvir naselje u Sloveniji
| ime = $1

| širina-stupnjevi = <noinclude>46</noinclude>
| širina-minute = <noinclude>18</noinclude>
| dužina-stupnjevi = <noinclude>14</noinclude>
| dužina-minute  = <noinclude>56</noinclude>

| pokrajina = [[$2|$3]]
| regija = [[$4 (regija)|$4]]
| općina = <includeonly>[[$5|$6]]</includeonly><noinclude>[[Općina Nazarje|Nazarje]]</noinclude>

| površina_ukupna =
| visina = 

| stan_2002 = 
| poštanski_broj =
}}
'''<includeonly>$1</includeonly><noinclude>Dobletina</noinclude>''' je naselje u [[Slovenija|slovenskoj]] općini <includeonly>[[$5|$6]]</includeonly><noinclude>[[Općina Nazarje|Nazarje]]</noinclude> ([[Slovenske pokrajine|pokrajina]] [[$2|$3]], [[Statističke regije Slovenije|statistička regija]] [[$4 (regija)|$4]]). 

Stvaranje predloška koji poziva Lua modul

Primjer je {{Wp/Naselje u Sloveniji}}. Predložak ne radi ništa drugo osim što prenosi parametre na lua modul. Evo wiki koda:

<includeonly>{{#Invoke:Wp/Naselje u Sloveniji|main}}</includeonly><noinclude>
{{Lua|Wp/Naselje u Sloveniji}}
[[Kategorija:Wikipedijini predlošci]]</noinclude>

Sve što u predlošku treba napraviti je pozvati istoimeni lua modul (točnije njegovu funkciju "main"), ovako: {{#Invoke:Wp/Naselje u Sloveniji|main}}. Nema posebnog razloga zašto bi se modul zvao isto kao i predložak, osim što je tako preglednije.

Ostatak u ovom primjeru je:

  • {{Lua|Wp/Naselje u Sloveniji}} - dokumentiranje činjenice da koristimo ovaj modul. Ovo je potrebno da saznamo gdje se modul koristi. Za razliku od predložaka, korištenje modula se ne može otkriti pomoću Posebno:Što_vodi_ovamo, pa se ovim umjetno stvara poveznica na modul što pomaže otkriti gdje je modul korišten.
  • [[Kategorija:Wikipedijini predlošci]] - kategoriziranje, vjerojatno će kasnije biti promijenjena kategorija, kada bude još ovakvih predložaka

Stvaranje Lua modula

Treći korak je stvaranje Lua modula koji će stvoriti pojedinačne "pametne" poveznice na članke. Primjer: Modul:Wp/Naselje u Sloveniji

Fiskni dio #1

local p = {}

local list = require("Module:List")
local wpPreload = require('Module:WpPreload')

function p.main(frame)

Stvaranje varijabli iz parametara predloška

Kad se određeni predložak poziva s parametrima, npr

{{wp/Naselje u Sloveniji|Bistra (Črna na Koroškem, Slovenija)|Bistra|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}}

isti ti paramteri su dostupni i u Lua modulu. Za početak, sve te parametre prebacimo u varijable sa smislenim imenima da bi kod bio razumljiviji:

    local naseljeLink = mw.getCurrentFrame():getParent().args[1]
    local naselje = mw.getCurrentFrame():getParent().args[2]
    local pokrajinaLink = mw.getCurrentFrame():getParent().args[3]
    local pokrajina = mw.getCurrentFrame():getParent().args[4]
    local regija = mw.getCurrentFrame():getParent().args[5]
    local opcinaLink = mw.getCurrentFrame():getParent().args[6]
    local opcina = mw.getCurrentFrame():getParent().args[7]

Zatim se treba pozvati funkcija wpPreload.napraviWp(), a prije toga je potrebno stvoriti array args. Vrijednosti pojedinog elementa args moraju odgovarati parametrima $1 .. $n kako su korišteni u tipskom članku. Za stvaranje args su korištene sve varijable osim naseljelink, ova varijabla ide zasebno u pozivu wpPreload.napraviWp(). Evo kako kreiramo array args (na kraju pojedinog retka je isječak iz tipskog članka:

    
    local args = {}
    args[1] = mw.uri.encode(naselje)        -- => '''$1''' je naselje u [[Slovenija|slovenskoj]] općini
    args[2] = mw.uri.encode(pokrajinaLink)  -- => [[Slovenske pokrajine|pokrajina]] [[$2|$3]]
    args[3] = mw.uri.encode(pokrajina)      -- => [[Slovenske pokrajine|pokrajina]] [[$2|$3]]
    args[4] = mw.uri.encode(regija)         -- => [[$4 (regija)|$4]]
    args[5] = mw.uri.encode(opcinaLink)     -- => u [[Slovenija|slovenskoj]] općini [[$5|$6]]
    args[6] = mw.uri.encode(opcina)         -- => u [[Slovenija|slovenskoj]] općini [[$5|$6]]
		

Zatim pozivamo wpPreload.napraviWp() sa sljedećim parametrima:

  • frame (fiksno)
  • naseljeLink (fiksno)
  • naselje (fiksno)
  • tipski članak - kopirajte njegovu adresu zajedno sa svim donjim crtama
  • args(fiksno)
  • predloženi sažetak
	local wikiCode = wpPreload.napraviWp(frame, naseljeLink, naselje, 'Tipski_članci/Naselje_u_Sloveniji', args, 'Stvoren novi članak')

Fiskni dio #3

	return wikiCode
end
return p

Stvaranje skupnog predloška

Na kraju je potrebno napraviti skupni predložak u kojem će biti "pametne" crvene wikipoveznice (koji će nakon stvaranja stranica postati najobičnije plave).

Predložak će se iz skupnog predloška pozivati ovako:

{{wp/Naselje u Sloveniji|Bistra (Črna na Koroškem, Slovenija)|Bistra|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}}

Pri tome su prva 2 parametra (|Bistra (Črna na Koroškem, Slovenija)|Bistra|) nužna jer se radi o naslovu i tekstu wikipoveznice, bez njih ne možemo ni stvoriti poveznice, a ostali ovise o tome kakav smo tipski članak napravili.

Evo primjer predloška {{Črna na Koroškem}}:

{{Navigacija
| naziv  = Črna na Koroškem
| naslov = [[Općina Črna na Koroškem|Naselja u sastavu Općine Črna na Koroškem]]
| slika  = 
| popis1 = <!--
-->{{wp/Naselje u Sloveniji|Bistra (Črna na Koroškem, Slovenija)|Bistra|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Črna na Koroškem|Črna na Koroškem|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Javorje (Črna na Koroškem, Slovenija)|Javorje|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Jazbina (Črna na Koroškem, Slovenija)|Jazbina|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Koprivna (Črna na Koroškem, Slovenija)|Koprivna|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Ludranski Vrh|Ludranski Vrh|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Podpeca|Podpeca|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Topla (Črna na Koroškem, Slovenija)|Topla|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}} • <!--
-->{{wp/Naselje u Sloveniji|Žerjav (Črna na Koroškem, Slovenija)|Žerjav|Koruška (Slovenija)|Koruška|Koruška|Općina Črna na Koroškem|Črna na Koroškem}}
}}<noinclude>
[[Kategorija:Skupni predlošci naselja po općinama u Sloveniji]]
</noinclude>

Radi se o običnom skupnom navigacijskom predlošku, a jedina razlika je što su obične wikipoveznice zamijenjene sa pozivom {{wp/Naselje u Sloveniji}}