Modul:Sports table/WDL
Sports table/WDL[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
A Lua-alapú Module:Sports table ezen változata sporteseményekhez tabellákat készít, a győzelem-döntetlen-vereség (WDL = win-draw-loss) változattal. A modul sok lapon előfordul, emiatt az esetleges változtatásokat először a homokozóban végezd el. A dokumentáció a WDL modul felépítését ismerteti.
Használata
[szerkesztés]- Angol nyelvű
A modul paraméterei angol nyelvűek. Az alábbiakban a gyakran előforduló angol szavak magyar megfelelői olvashatók:
- team = csapat
- name = név (elnevezés)
- win = győzelem
- draw = döntetlen
- loss = vereség
- goals/points for (rövidítve: gf/pf) = szerzett gólok/pontok
- goals/points against (rövidítve: ga/pa) = kapott gólok/pontok
- point = pont
Általános használata
[szerkesztés]A táblázat elkészítéséhez néhány paraméterre van szükség.
A szócikkben
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
A fő parancs a {{#invoke:Sports table|main|style=WDL}} kód, amely behívja a modult és lehetővé teszi a beállításokat, adatokat.
- Sorrend beállítása
A sorrendet a |team1=
, |team2=
, stb után beírt csapatazonosítókkal lehet beállítani. A csapat teljes nevét is lehet használni szóközök nélkül, de kódok használata egyszerűbb.
- Eredmények
Minden egyes csapathoz meg lehet adni a győzelmek, döntetlenek, vereségek, szerzett gólok, kapott gólok számát a |win_TTT=
, |draw_TTT=
, |loss_TTT=
, |gf_TTT=
és a |ga_TTT=
paraméterekben (ahol a TTT az adott csapat kódja). Ha ezek a paraméterek üresen vannak hagyva, vagy nem szerepelnek, akkor az érték 0. De mindenképp javasolt használni, így a szerkesztőnézetben könnyebben áttekinthetők az adatok. A |name_TTT=
paraméterekkel az adott csapatok neve állíthatók be, amelyek a "Csapat" oszlopban jelennek meg. Használhatók wikilinkek, sablonok is. Lásd az #Dátum fejezetet, a táblázat adatainak változtatásához, frissítéshez.
Sablonban
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
A beírandók alapvetően hasonlóak az előzőekhez, itt két sorral több. A |showteam={{{showteam}}}
, showteam paraméter irányítja át a sablonba (lásd #Csapat kiemelése és részleges táblázat); a |only_pld_pts={{{only_pld_pts}}}
csonkított táblázat lehetőségét irányítja át, (lásd #Megjelenés); a |show_matches={{{show_matches}}}
a mérkőzések láthatóságának lehetőségét irányítja át, lásd #Mérkőzések. A |template_name=
a sablon neve, amelyen M, V és SZ linkek (mutasd, vitalap, szerkeszt) jelennek meg, a sablon könnyebb elérhetőségéhez (a szócikkből így közvetlenül megnyitható a sablon).
Testreszabás
[szerkesztés]Számos lehetőség egyedileg beállítható, testreszabható.
Pontok
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
Alapértelmezésben egy győzelemért 3, egy döntetlenért 1, a vereségért 0 pontot számít a táblázat. Ezek az értékek felülírhatók a |winpoints=
, |drawpoints=
és a |losspoints=
paraméterekkel. A csapatok kaphatnak bónusz(?) vagy levonhatnak tőlük büntetőpontokat. Ezeket a |adjust_points_TTT=
paraméterben lehet megadni (a TTT a csapat kódja). Büntetőpont esetén mínusz előjellel kell megadni (levonandó). A tizedesvesszőt pontként kell megadni. Példa: A TTT csapatnál 1,5 pont levonása esetén |adjust_points_TTT=-1.5
adatot kell megadni. A csapatokhoz tartozó pontszámot (vagy győzelem százalék), valamint a gólkülönbséget (gólarány, gól százalék) a modul kiszámítja (a beállításoknak megfelelően), ezeket az adatokat nem kell (nem is lehet) minden egyes csapathoz megadni.
A rangsorolás történhet a győzelmek száma alapján, ez a |ranking_style=wins
használatával jelenik meg, ilyenkor a "Győzelem" oszlop adatai vastag betűsek lesznek, a "Pont" oszlop adatai pedig nem. A |ranking_style=percentage
használatával a "Győzelem százalék" oszlop jelenik meg a "Pont" oszlop helyett.
Fejléc lehetőségei (szerzett/kapott pontok és egyedi fejléc)
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
Azokban a sportágakban, ahol pontok vannak a gólok helyett, a |for_against_style=points
használatával a fejlécben gólok helyett pontok jelennek meg. A fejlécben a "D" (döntetlen) oszlop a |draw_header=
paraméterben, a "Csapat" oszlop pedig a |team_header=
paraméterben átírható. A "Cs" oszlop (csoport) a |group_header=
paraméterben írható át.
A döntetlen és a vereség oszlop sorrendje
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL|loss_before_draw=igen
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
Alapértelmezésben a vereség oszlop a döntetlen oszlop után van. A döntetlen és a vereség oszlop felcseréléséhez a |loss_before_draw=igen
paramétert kell használni.
Gólarány/gólátlag
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
A |use_goal_ratio=yes
használatával gólarány (gólátlag) jelenik meg a gólkülönbség helyett.
Gól százalék
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
A |use_goal_percentage=yes
használatával gól százalék jelenik meg a gólkülönbség helyett.
Lábléc beállításai
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: 1900. január 1. Forrás: Wikipédia
Sorrend szabályai: 1) pont; 2) gólkülönbség; 3) szerzett gólok. |
A láblécben a tabellához kapcsolódó információk jeleníthetők meg, amelyek egyedileg beállíthatók. Az adatok frissítésének dátuma az |update=
paraméterbe írható be, lásd alább. A tabella adatainak forrásához a |source=
paraméter használható, amelyben külső hivatkozás linkjét is be lehet írni. ha nincs forrás megadva, akkor a "forr?" forráskérő hivatkozás jelenik meg. A csapatok sorrendjének megállapításához használt szabályokat a |class_rules=
paraméterben lehet megadni, közvetlenül, vagy wikilinkkel más szócikk, ezzel foglalkozó fejezetéhez irányítva. A |only_pld_pts=no_hide_class_rules
beállítás használatával a táblázat teljesen megjelenik, de a sorrend megállapításához használt szabályokat elrejti (ez sablonokban használható, ahol több csoport található egy lapon, ahol más fejezet foglalkozik a szabályokkal).
Dátum
[szerkesztés]- Folyamatban lévő szezon
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||
Amit látunk |
Frissítés dátuma: 1900. január 1.
|
Amikor a szezon folyamatban van, a láblécben az |update=
paraméterhez lehet írni a frissítés dátumát. Javasolt azt a dátumot írni, amely a legutolsó elszámolt mérkőzés napjával egyezik meg.
- Befejezett szezon
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||
Amit látunk |
|
Amikor a csoport/szezon összes mérkőzését lejátszották és elszámolásra kerültek a táblázatban, az |update=complete
használatával lehet ezt jelezni.
- Jövőbeli szezon
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||
Amit látunk |
Az első mérkőzés(ek) dátuma: 2121. január 1..
|
Mielőtt egy mérkőzést is lejátszottak volna, a |update=future
használta mellett az első mérkőzés dátumát a |start_date=
paraméterhez lehet beírni.
Csonkítás
[szerkesztés]Az |only_pld_pts=
paraméter használatával a táblázat csonkítható, ilyenkor csak a helyezés, csapat, mérkőzés és a pont oszlopai jelennek meg. A lábléc megjelenítése a |stack_footer=
paraméterben állítható. A |stack_footer=yes
(vagy y, t, true vagy 1 vagy ezek nagybetűs változataival) minden információ új sorba kerül.
- stack_footer nélkül
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
(B) Bajnok; (R) Rendező; (T) Továbbjutott. |
- stack_footer használatával
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
(B) Bajnok; (R) Rendező; (T) Továbbjutott. |
Megjelenés
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
Az |only_pld_pts=yes
(vagy y, t, true vagy 1 vagy ezek nagybetűs változataival) használatával csak a helyezés, csapat, mérkőzés és a pont oszlopai jelennek meg. Az |only_pld_pts=no_hide_class_rules
paraméterek használatával a sorrendjének megállapításához használt szabályokat elrejti (ez sablonokban használható, ahol több csoport található egy lapon, ahol más fejezet foglalkozik a szabályokkal).
Egy elválasztó sor adható a táblázathoz (ha szükséges) a |splitN=
használatával, ahol az N azt a helyezést jelöli, amely után szükséges az elválasztó sor. (A legutolsó helyezéshez beállított érték esetén nem jelenik meg az elválasztó sor).
A "Csapat" oszlop szélessége a |teamwidth=
paraméterben állítható, például, ha több csoport van egy tornán és egyforma szélesre szeretnénk állítani a táblázatokat.
A Helyezés oszlopa a |postitle=
paraméterben állítható, az adott csapatok egyenkénti helyezéséhez (például holtverseny esetén) a |pos_TTT=
használható.
Ha több csoportban szereplő csapatokat kell egy táblázatba tenni, akkor ezt a |show_groups=yes
(vagy y, t, true vagy 1 vagy ezek nagybetűs változataival) használatával tehetjük meg. A
|group_TTT=
paraméterben állítható be, hogy az adott csapat melyik csoportban szerepel. A "Csoport" oszlop fejléce a |group_header=
paraméterben állítható, például |group_header=<abbr title="Bajnokság">Liga</abbr>
. Példa: 2018-as labdarúgó-világbajnokság-selejtező (UEFA)#Második forduló.
Csapat kiemelése és részleges táblázat
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
Egy csapat szezonját tartalmazó szócikkben az adott csapat sorát a |showteam=TTT
használatával lehet vastag betűsen kiemelni. A |show_limit=
paraméter azt adja meg, hogy hány sor jelenjen meg az adott csapat körül. Ha a szám páros, akkor következő páratlan számra felfelé kerekít.
A táblázat egy tetszőleges helyezés megadásával kezdhető a |highest_pos=N
használatával, az N a helyezés számát jelöli. |highest_pos=3
az első két sor nem jelenik meg, a 3. helyezettől kezdődik a táblázat.
Eredmények és státusz
[szerkesztés]Helyezések jelölése
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
|
A helyezésekhez, a továbbjutással kapcsolatos információ színskálával és a külön oszlopban megjelenített szöveggel lehetséges. Az oszlop fejlécének szövegét a |res_col_header=
paraméterbe lehet írni. A Továbbjutás, Feljutás és Kiesés szavak (angolul a Qualification, Promotion, Relegation szavak) kezdőbetűiből alapértelmezett betűket lehet megadni, a többször használt esetekre. Ezek paraméterlistában a paraméter mellett találhatók.
A |resultN=
paraméterben lehet beállítani a továbbjutáshoz kapcsolódó kódokat. Az N a helyezés számát jelenti. Például a |result1=RRR
beállítással az RRR egy kódot jelent, amelyet az alábbiak szerint használunk.
Az RRR kódhoz tartozó szín a |col_RRR=
paraméterben adható meg. Alapvető a zöld, a kék, a sárga, a piros és a fekete árnyalatai vannak előre defininálva. Így a green1, green2, green3, green4, blue1, blue2, blue3, blue4, yellow1, yellow2, yellow3, yellow4, red1, red2, red3, red4, black1, black2, black3 és a black4 színek használhatók. A továbbjutó csapat mindig a zöldet, ezt követően a kék, majd a sárga, a kiesettek a piros színeket kapják, a színekhez tartozó számok növekvő sorrendjében. A fekete (szürke) színt a kizárt, vagy visszalépett csapatokhoz használjuk. A színeket lásd a paraméterlistában. Egyedi szín is megadható a "red-green-blue" (#RRGGBB) formátumban.
Az RRR kódhoz tartozó, a Továbbjutás oszlopában megjelenő szöveg a |text_RRR=
paraméterben adható meg, ahol belsőhivatkozást is lehet írni a megfelelő szócikkre.
Zöld | green1 | green2 | green3 | green4 |
---|---|---|---|---|
Kék | blue1 | blue2 | blue3 | blue4 |
Sárga | yellow1 | yellow2 | yellow3 | yellow4 |
Piros | red1 | red2 | red3 | red4 |
Fekete | black1 | black2 | black3 | black4 |
Narancs | orange1 | orange2 | Fehér | white1 |
Státusz jelölése
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
(A) ?; (B) Bajnok; (C) Kupagyőztes; (D) Kizárták; (E) ?; (F) Feljutott; (G) ?; (H) ?; (I) Kupainduló; (J) ?; (K) Kiesett; (L) ?; (M) ?; (N) ?; (O) Osztályozó; (P) ?; (Q) ?; (R) Rendező; (S) ?; (T) Továbbjutott; (U) ?; (V) ?; (W) ?; (X) ?; (Y) ?; (Z) ?. |
Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
a – ?; b – Bajnok; c – Kupagyőztes; d – Kizárták; e – ?; f – Feljutott; g – ?; h – ?; i – Kupainduló; j – ?; k – Kiesett; l – ?; m – ?; n – ?; o – Osztályozó; p – ?; q – ?; r – Rendező; s – ?; t – Továbbjutott; u – ?; v – ?; w – ?; x – ?; y – ?; z – ?. |
A csapatok továbbjutás/feljutás/kiesés státuszának megjelenítéséhez a |status_TTT=
paraméter használható. A státusz jelölése betűkkel történik, a betűkhöz előre definiált státuszok vannak a modulban. A csapathoz írt státusz betűjele megjelenik a csapat mellett (beállítástól függően előtte vagy mögötte), vastag betűvel. Ha az egyik betűt használjuk, akkor annak a jelentése megjelenik a láblécben, a táblázat alatt, betűrendben. A csapatoknál több karakter is használható, egyszerűen egymás mögé kell írni a betűket. A csapatok mellett a betűk a beírásuk sorrendjében jelennek meg. A használható betűk, és ezek jelentése a paraméterlistában található.
Csak azok a betűk jelennek meg, amelyek a modulban definiálva vannak. A nem definiált jelölések nem jelennek meg, akkor sem, ha a csapat státuszához beírjuk. (Új betűt a Modul:Sports table/WDL modulban lehet megadni.)
A státuszt akkor kell használni, ha a csapat eredménye matematikailag biztosítja a továbbjutást, vagy a kiesést, illetve a csapat az eredményével már elérte, vagy már nem érheti el, a jelöléshez szükséges eredményt, vagy annak ellenkezőjét. Például, ha egy csapat matematikailag bajnok, akkor a |status_TTT=B
jelölés használható, valamint, ha egy másik csapat már matematikailag kiesett, akkor a |status_UUU=K
jelölés használható.
Három betű, az X, Y, Z egyedi státusz meghatározásához van fenntarva. A |status_text_X=
, |status_text_Y=
, |status_text_Z=
paraméterekben lehet megadni a jelöléshez tartozó jelentést.
Alapértelmezésben a státusz az adott csapat mögött, jobb oldalt, nagybetűvel jelenik meg. A |status_pos=before
használatával a státusz az adott csapat előtt, bal oldalt, kisbetűvel jelenik meg.
Megjegyzések
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen
Jegyzetek: |
Ha egy megjegyzést adunk hozzá, akkor az automatikusan megjelenik a láblécben. A modul a {{megjegyzés}}
(?) és az {{azonos}}
(?) sablonokat használja.
A |note_header_res=
használatával a továbbjutással kapcsolatos oszlop fejlécének szövegéhez adhatunk megjegyzést. A |note_res_RRR=
használatával a továbbjutással kapcsolatos szövegekhez adhatunk megjegyzést.
A |note_TTT=
használatával a TTT csapathoz adhatunk megjegyzést. Ha a megjegyzéshez egy csapat kódját írjuk, akkor az arra a megjegyzésre fog hivatkozni. Például a |note_SSS=TTT
használatával az SSS csapatnál is a TTT csapathoz tartozó megjegyzés jelenik meg.
A |hth_TTT=
használatával a TTT csapat pontszámánál (vagy az ettől eltérő beállítás pl. győzelem százalék) jelenik meg. A "hth" jelentése: "head-to-head", azaz azonos pontszám esetén az egymás elleni eredmények leírására alkalmas, ha a rangsorolás szabályai szerint ez dönt két csapat között. Ilyenkor a másik (SSS kóddal rendelkező) csapatnál a |hth_SSS=TTT
kódot használhatjuk, így az SSS csapathoz tartozó megjegyzés a TTT csapatnál lévő megjegyzésre hivatkozik.
Mérkőzések
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: ismeretlen Jegyzetek:
|
Kereszttáblázat (a csapatokhoz tartozó mérkőzések) megjelenítéséhez a |show_matches=yes
(vagy y, t, true vagy 1 vagy ezek nagybetűs változataival) beállítást kell használni.
A keresztáblázat fejlécében a csapatok rövid nevei jelennek meg, melyeket a |short_TTT=
használatával lehet megadni (a TTT a csapat kódja). Wikilink is alkalmazható. A TTT és SSS csapatok mérkőzésének eredményéhez a |match_TTT_SSS=
paramétert használjuk. Az eredményt nagykötőjellel írjuk be, pl: 0–0. (Nagykötőjel: Alt+a numpadon 0+1+5+0)
A jövőbeli mérkőzések eredményeihez beírhatjuk azok dátumát (pl. 01.01., jan. 1., '22. jan. 1. formátumban), vagy használhatunk kérdőjelet ("?–?") vagy csak a nagykötőjel ("–").
A mérkőzésekhez megjegyzés is adható. A TTT és SSS csapatok mérkőzéséhez a |match_TTT_SSS_note=
használatával adhatunk megjegyzést. Egy csapat mellett létező megjegyzésre is lehet hivatkozni, például a TTT csapatnál lévő megjegyzésre (amit a |note_TTT=
használatával adtunk meg) a |match_TTT_SSS_note=TTT
alkalmazásával érhetjük el.
A mérkőzések oszlopainak szélességét a |match_col_width=
használatával lehet módosítani. Az alapértelmezett érték 35.
Példa
[szerkesztés]Amit írunk | {{#invoke:Sports table|main|style=WDL
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amit látunk |
Frissítés dátuma: 2016.08.29 Forrás: Wikipédia Sorrend szabályai: 1) pont; 2) egymás elleni eredmény; 3) gólkülönbség; 4) szerzett gólok. (B) Bajnok; (C) Kupagyőztes; (D) Kizárták; (I) Kupainduló; (K) Kiesett; (O) Osztályozó. Jegyzetek:
|
Paraméterlista
[szerkesztés]- Könyvjelzők
Technikai beállítások | Fejléc | Adatok |
---|---|---|
Továbbjutás, státusz | Lábléc |
- Technikai beállítások
Paraméter | Használata |
---|---|
|template_name= |
Ha sablonban készül, akkor a sablon neve. |
|section= |
Szakaszazonosító megadása. Használatát lásd itt: Modul:Sports table/doc#Beilleszthető cikkekbe |
|show_matches= |
"yes" érték esetén kereszttáblázat (mérkőzések) megjelenítése a tabella mellett jobbra. Az ehhez kapcsolódó paramétereket lásd alább. |
|only_pld_pts= |
"yes" érték esetén csak a helyezés, csapat, mérkőzés és pontszám megjelenítése (csonk táblázat). |
|only_pld_pts=no_hide_class_rules |
A beállítás használatával a táblázat teljesen megjelenik, de a sorrend megállapításához használt szabályokat elrejti (ez sablonokban használható, ahol több csoport található egy lapon, ahol más fejezet foglalkozik a szabályokkal). |
- Fejléc
A fejlécben lévő szöveg felülírásához a <abbr title="Eszközleírás szövege">Megjelenő szöveg</abbr>
formátumot kell használni.
Paraméter | Használata |
---|---|
|sortable_table= |
"yes" érték esetén rendezhető fejléces a táblázat. |
|postitle= |
A "Helyezés" oszlop fejlécének felülírása. |
|team_header= |
A "Csapat" oszlop fejlécének felülírása. |
|teamwidth= |
A "Csapat" oszlop szélessége. Alapértelmezés: 190. |
|show_groups= |
"yes" érték esetén "Csoport" (Cs) oszlop jelenik meg. |
|show_away_goals= |
"yes" érték esetén "Idegenben szerzett gólok" (IG) oszlop jelenik meg. |
|show_bonus_points= |
"yes" érték esetén "Bónuszpont" (BP) oszlop jelenik meg. |
|show_win= |
"no" érték esetén a "Győzelem" (Gy) oszlop nem jelenik meg. |
|show_draw= |
"no" érték esetén a "Döntetlen" (D) oszlop nem jelenik meg. |
|show_loss= |
"no" érték esetén a "Vereség" (V) oszlop nem jelenik meg. |
|group_header= |
A "Csoport" (Cs) oszlop fejlécének felülírása. |
|draw_header= |
A "Döntetlen" (D) oszlop fejlécének felülírása. |
|bonus_head_text= |
A "Bónuszpont" (BP) oszlop fejlécének felülírása. |
|loss_before_draw= |
"yes" érték esetén a "Döntetlen" (D) és a "Vereség" (V) oszlop felcserélése. |
|for_against_style= |
Alapértelmezésben "goals" érték, a fejlécben gólok jelennek meg. "points" érték esetén a "gólok" helyett "pontok" jelennek meg a fejlécben. |
|use_goal_ratio= |
"yes" érték esetén a gólarány (gólátlag) jelenik meg a gólkülönbség helyett. |
|use_goal_percentage= |
"yes" érték esetén gól százalék jelenik meg a gólkülönbség helyett. |
|ranking_style= |
A rangsorolás kiemelése melyik oszlop alapján történik. A megadott oszlop adatai vastag betűvel jelennek meg. Alapértelmezésben: "pts" érték.
|
- Adatok
Paraméter | Használata |
---|---|
|winpoints= |
Győzelemért járó pontszám. Alapértelmezés: 3. |
|drawpoints= |
Döntetlenért járó pontszám. Alapértelmezés: 1. |
|losspoints= |
Vereségért járó pontszám. Alapértelmezés: 0. |
|name_TTT= |
A TTT kódhoz tartozó csapat neve. A megadott név jelenik meg a táblázat "Csapat" oszlopában. |
|note_TTT= |
A TTT csapathoz tartozó megjegyzés, amely a csapat nevéhez kapcsolódóan jelenik meg. |
|group_TTT= |
A TTT csapat melyik csoportban szerepel. Csak akkor használandó, ha a "Csoport" oszlop létezik (|show_groups=yes ).
|
|win_TTT= |draw_TTT= |loss_TTT= |gf_TTT= |ga_TTT=
|
A TTT csapat győzelmei, döntetlenei, vereségei, szerzett góljai, kapott góljainak száma. |
|adjust_points_TTT= vagy|startpoints_TTT= |
A TTT csapat bónusz vagy büntetőpontok száma; büntetőpont esetén mínusz előjellel kell megadni (levonandó). A tizedesvesszőt pontként kell megadni. Példa: A TTT csapatnál 1,5 pont levonása esetén |adjust_points_TTT=-1.5 adatot kell megadni.
|
|teamX_= |
Helyezés beállítása. X a helyezés száma. A paraméterbe az adott helyezésen álló csapat kódját kell írni. Például |team1=TTT esetén a TTT csapat az 1. sorban, |team8=TTT esetén a TTT csapat a 8. sorban jelenik meg.
|
|pos_TTT= |
A TTT csapat helyezése. Holtverseny esetén használandó, egyébként elhagyható. |
|showteam=TTT |
A TTT csapat sorát vastag betűvel kiemeli. |
|show_limit= |
A |showteam= használatakor műkdöik. Azt adja meg, hogy hány sor jelenjen meg |showteam=TTT paraméterben megadott csapat körül. Ha a megadott szám páros, akkor következő páratlan számra felfelé kerekít.
|
|splitN= |
N azt a helyezést jelöli, amely után elválasztó sor jelenik meg. |
|highest_pos=N |
N azt a helyezést jelöli, amely az táblázat első sorában jelenik meg. Például |highest_pos=3 esetén a 3. helyezéstől lefelé jelenik meg a táblázat.
|
|hth_TTT= |
A TTT csapathoz tartozó megjegyzés, amely a csapat pontszámánál (vagy az ettől eltérő beállítás pl. győzelem százalék) mellett jelenik meg. (hth = "head to head", azaz azonos pontszám esetén az egymás elleni eredmények leírására alkalmas, ha a rangsorolás szabályai szerint ez dönt két csapat között) |
|hth_SSS=TTT |
Az SSS csapathoz tartozó megjegyzés, amely a már létező (a hth_TTT kódhoz tartozó) megjegyzésre hivatkozik. |
- Továbbjutáshoz kapcsolódó adatok (státusz, továbbjutás oszlopa)
Paraméter | Használata | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|status_pos= |
A státusz jelének elhelyezkedése. Alapértelmezésben "after" érték. "before" érték esetén a csapat előtt jelenik meg a stáusz kis betűvel. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|status_TTT= |
A TTT csapat státusza. Egynél több státusz használata esetén egymás mögé kell írni a betűket, szóközök nélkül. Például |status_TTT=BIR . A betű használata esetén a láblécben is megjelenik a jelentésével együtt. Az alábbi betűk használhatók:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|status_text_X= |status_text_Y= |status_text_Z=
|
Egyedi státusz lehetősége. A paraméterhez kell írni a betűjel jelentését. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|res_col_header= |
A jobb oldali, továbbjutással kapcsolatos jelentések oszlopának fejlécének szövege. Az alábbiak is használhatók (angol és magyar betűs változat is lehetséges):
Ha a szöveg a fentiekkel egyikével sem egyezik meg, akkor a beírt szöveg jelenik meg. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|resultN= |
Az N helyezéshez tartozó, továbbjutással kapcsolatos kód. Például |result1=RRR esetén az 1. helyezéshez |text_RRR= paraméterbe ír, továbbjutással kapcsolatos információ jelenik meg. Használatát lásd a következő két paraméterben.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|col_RRR= |
Az RRR kódhoz tartozó, a továbbjutással kapcsolatos színskála megadása. Az alábbi színek használhatók. A továbbjutó csapat mindig a zöldet, ezt követően a kék, majd a sárga, a kiesettek a piros színeket kapják, a színekhez tartozó számok növekvő sorrendjében. A fekete (szürke) színt a kizárt, vagy visszalépett csapatokhoz használjuk. Egyedi szín is megadható a "red-green-blue" (#RRGGBB) formátumban.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|text_RRR= |
Az RRR kódhoz tartozó, a továbbjutással kapcsolatos szöveg megadása. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|note_header_res= |
A jobb oldali, továbbjutással kapcsolatos jelentések oszlopának fejlécéhez írt megjegyzés. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|note_res_RRR= |
A továbbjutással kapcsolatos oszlopban az RRR azonosítóhoz tartozó megjegyzés. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|note_res_MMM=RRR |
A már létező (a note_res_RRR kódhoz tartozó) megjegyzésre történő hivatkozás. |
- Kereszttáblázat esetén használandó paraméterek
Az alábbi paraméterek kereszttáblázat megjelenítése esetén használandóak (|show_matches=yes
).
Paraméter | Használata |
---|---|
|short_TTT= |
A TTT csapat rövid neve (klub esetén 2–3 betű, ország esetén zászló). |
|match_col_width= |
A keresztáblázatban az eredmények oszlopainak szélessége. |
|match_TTT_SSS= |
A TTT és SSS kódhoz tartozó csapatok mérkőzésének eredménye. |
|match_TTT_SSS_note= |
A TTT és SSS kódhoz tartozó csapatok mérkőzéséhez tartozó megjegyzés. |
|match_TTT_SSS_note=TTT |
TTT és SSS kódhoz tartozó csapatok mérkőzéséhez tartozó megjegyzés, ami a már létező (a TTT kódhoz tartozó csapathoz tartozó megjegyzés, amit |note_TTT= megadásával adtunk meg) megjegyzésre hivatkozik.
|
- Lábléc
Paraméter | Használata |
---|---|
|source= |
A tabella forrása. Külső hivatkozás megadható. |
|update= |
A frissítés dátuma (javasolt az utolsónak elszámolt mérkőzés dátumát írni). Dátumtól eltérően:
|
|start_date= |
Ha az |update= paraméterben "future" érték van, akkor az első mérkőzés dátumát kell ide írni.
|
|class_rules= |
A sorrend megállapításához használt szabályok. |
|stack_footer= |
"yes" érték esetén minden információ új sorba kerül a láblécben. |
Másolható minta
[szerkesztés]Alább az alapbeállításokat tartalmazó másolható mintha látható.
Adatok megadása:
- 1. A "Csapat adatok" résznél adjuk meg a csapatok neveit, wikilinkjeit.
- 2. A csapatokhoz határozzunk meg (lehetőség szerint) 3 karakteres kódokat. A kódok cseréjét a leggyorsabban a következők szerint végezhetjük el. Az alábbi mintát másoljuk ki, és illeszük be a Jegyzettömbbe (Windows). Válasszuk a Szerkesztés...Csere menüpont (vagy Ctrl+H billetyűparancs).
- A "Keresendő" szövegbe írjuk be: "AAA"
- A "Csere erre" szövegbe írjuk be a csapat kódját, pl. "FTC".
És így tovább a "BBB" szöveget pl. "ÚJP" szövegre cserélhetjük.
- 3. A "|class_rules=" paraméterben adjuk meg a sorrend szabályait, a versenykiírásnak megfelelően.
- 4. A "|source=" paraméterben adjuk meg a tabella forrását külső hivatkozással.
- 5. A "Továbbjutás információk" részben adjuk meg a helyezésekhez tartozó továbbjutáshoz kapcsolódó jelöléseket (bővebben lásd a modul leírását).
- 6. Adjuk meg az első mérkőzés dátumát a "|start_date=" paraméterben. (Ha befejezett állapotról van szó, akkor az "|update=complete" használandó, a "|start_date=" paramétert törölni kell.)
{{#invoke:Sports table|main|style=WDL <!--Sorrend szabályai--> |class_rules= <!--Forráslink--> |source= <!--Csapatok eredményeinek frissítése--> <!--win: győzelem, draw: döntetlen, loss: vereség, gf: szerzett gól, ga: kapott gól--> |update=future |start_date= |win_AAA=0 |draw_AAA=0 |loss_AAA=0 |gf_AAA=0 |ga_AAA=0 |status_AAA= |win_BBB=0 |draw_BBB=0 |loss_BBB=0 |gf_BBB=0 |ga_BBB=0 |status_BBB= |win_CCC=0 |draw_CCC=0 |loss_CCC=0 |gf_CCC=0 |ga_CCC=0 |status_CCC= |win_DDD=0 |draw_DDD=0 |loss_DDD=0 |gf_DDD=0 |ga_DDD=0 |status_DDD= |win_EEE=0 |draw_EEE=0 |loss_EEE=0 |gf_EEE=0 |ga_EEE=0 |status_EEE= |win_FFF=0 |draw_FFF=0 |loss_FFF=0 |gf_FFF=0 |ga_FFF=0 |status_FFF= <!--Helyezések beállítása--> |team1=AAA |team2=BBB |team3=CCC |team4=DDD |team5=EEE |team6=FFF <!--Csapat adatok (wikilinkek)--> |name_AAA=Csapat 1 |name_BBB=Csapat 2 |name_CCC=Csapat 3 |name_DDD=Csapat 4 |name_EEE=Csapat 5 |name_FFF=Csapat 6 <!--Továbbjutás információk--> |res_col_header=Q |result1=MMM |result2=NNN |result3=OOO |result4=PPP |col_MMM=green1 |text_MMM=Az MMM szín jelentése |col_NNN=blue1 |text_NNN=Az NNN szín jelentése |col_OOO=yellow1|text_OOO=Az OOO szín jelentése |col_PPP=red1 |text_PPP=A PPP szín jelentése }}
-- Style for football tables
local pp = {}
function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt)
-- Load relevant modules
local yesno = require('Modul:Yesno')
-- Create table header
-- Pre stuff
local team_width = Args['teamwidth'] or '190'
local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or ''
local show_played = not yesno(Args['hide_played'] or 'no')
local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no')
table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table
-- Table title
if Args['title'] or Args['table_header'] then
table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n')
end
-- Custom header options
local played_head_text = Args['pld_header'] or '<abbr title="Mérkőzések">M</abbr>'
local draw_head_text = Args['draw_header']
or (yesno(Args['use_tie'] or 'no') and '<abbr title="Döntetlen">D</abbr>') or '<abbr title="Döntetlen">D</abbr>'
local group_head_text = Args['group_header'] or '<abbr title="Csoport">Cs</abbr>'
local team_head_text = Args['team_header'] or 'Csapat'
local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Idegenben szerzett gólok">IG</abbr>'
local bonus_head_text = Args['bonus_header'] or '<abbr title="Bónuszpont">BP</abbr>'
local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>'
local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false
-- What to rank the teams by
local ranking_style = string.lower(Args['ranking_style'] or 'pts')
local show_points, show_wperc, show_perc, show_ppg = false, false, false, false
if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then
-- Based on wins
elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' then
show_wperc = true
elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then
-- Based on percentage
show_perc = true
elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then
-- Based on points per game
show_ppg = true
elseif ranking_style=='percpts' or ranking_style=='%pts' then
-- Based on percentage and points
show_perc = true
show_points = true
elseif ranking_style=='ppgpts' then
-- Based on ppg and points
show_ppg = true
show_points = true
else
-- Based on points
show_points = true
end
local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no')
local show_away_goals = yesno(Args['show_away_goals'] or 'no')
local show_bonus_points = yesno(Args['show_bonus_points'] or 'no')
local show_win = yesno(Args['show_win'] or 'yes')
local show_draw = yesno(Args['show_draw'] or 'yes')
local show_loss = yesno(Args['show_loss'] or 'yes')
-- Use points instead of goals for/against
local for_against_style = Args['for_against_style'] or 'goals'
local fa_letter, fa_word_sing, fa_word_sing2, fa_word_plur
local hide_for_against = false
-- First convert to lower case if it is a string
for_against_style = string.lower(for_against_style)
if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then
fa_letter = 'G'
fa_word_sing = 'gól'
fa_word_sing2 = 'Gól'
fa_word_plur = 'gólok'
elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then
fa_letter = 'F'
fa_word_sing = 'frame'
fa_word_sing2 = 'Frame'
fa_word_plur = 'frame-ek'
elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then
fa_letter = 'M'
fa_word_sing = 'mérkőzés'
fa_word_sing2 = 'Mérkőzés'
fa_word_plur = 'mérkőzések'
elseif for_against_style=='game' or for_against_style=='games' then
fa_letter = 'G'
fa_word_sing = 'játék'
fa_word_sing2 = 'Játék'
fa_word_plur = 'játékok'
elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then
fa_letter = 'P'
fa_word_sing = 'pont'
fa_word_sing2 = 'Pont'
fa_word_plur = 'pontok'
elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then
fa_letter = 'Sz'
fa_word_sing = 'szett'
fa_word_sing2 = 'Szett'
fa_word_plur = 'szettek'
elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then
fa_letter = 'R'
fa_word_sing = 'futás'
fa_word_sing2 = 'Futás'
fa_word_plur = 'futások'
elseif for_against_style=='none' then
hide_for_against = true
else
fa_letter = 'G'
fa_word_sing = 'Goal'
fa_word_plur = 'Goals'
end
-- Whether to use goal ratio (goal average) instead
local do_ratio = yesno(Args['use_goal_ratio'] or 'no')
local do_average = yesno(Args['use_goal_average'] or 'no')
-- Whether to use goal percentage instead
local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_point_percentage'] or 'no')
local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no')
-- Whether to suppress the GR/GA/G% column entirely
local do_difference = yesno(Args['use_goal_diff'] or 'yes')
-- Use games behind header
local show_GB = yesno(Args['show_GB'] or 'no')
-- Initialize
local tt = {}
tt.count = 0 -- Up by one after every call
tt.tab_text = t -- Actual text
-- Actual headers
if pos_label ~= nil then
tt = p_sub.colhead(tt,28,pos_label) -- Position col
end
-- Add group header
if full_table and group_col then
tt = p_sub.colhead(tt,28,group_head_text) -- Group col
end
tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col
if pts_perc_first then
if show_points then
tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col
end
if show_perc then
tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col
end
if show_ppg then
tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col
end
end
if show_played then
tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col
end
if full_table then
if show_win then
tt = p_sub.colhead(tt,28,'<abbr title="Győzelem">Gy</abbr>') -- Win col
end
if loss_first then
if show_loss then
tt = p_sub.colhead(tt,28,'<abbr title="Vereség">V</abbr>') -- Loss col
end
if show_draw then
tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col
end
else
if show_draw then
tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col
end
if show_loss then
tt = p_sub.colhead(tt,28,'<abbr title="Vereség">V</abbr>') -- Loss col
end
end
if rounds_won then
tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won
end
if not hide_for_against then
if not yesno(Args['hide_for_against_columns'] or 'no') then
tt = p_sub.colhead(tt,28,'<abbr title="Szerzett '..fa_word_plur..'">'..fa_letter..'+</abbr>') -- For col
tt = p_sub.colhead(tt,28,'<abbr title="Kapott '..fa_word_plur..'">'..fa_letter..'–</abbr>') -- Against col
end
if do_ratio or do_average then
local ratio_word = do_ratio and ' ratio' or ' average'
local ratio_letter = do_ratio and 'R' or 'Av'
tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing2..'arány">'..fa_letter..'A</abbr>') -- Ratio col
elseif do_percentage then
tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' százalék">%</abbr>') -- Percentage col
elseif do_point_for_avg then
tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match
elseif do_difference then
tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing2..'különbség">'..fa_letter..'k</abbr>') -- Difference col
end
end
end
if show_away_goals then
tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col
end
if show_bonus_points then
tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col
end
if not pts_perc_first then
if show_points then
tt = p_sub.colhead(tt,28,'<abbr title="Pont">P</abbr>') -- Points col
end
if show_perc then
tt = p_sub.colhead(tt,36,'<abbr title="Győzelem %">Gy%</abbr>') -- Win percentage col
elseif show_wperc then
tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col
end
if show_ppg then
tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col
end
end
if full_table then
if show_GB then -- Games behind header
tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>')
end
tt.count = tt.count+1
table.insert(tt.tab_text,results_header_txt)
end
return tt
end
-- Numeric alignment
local function num_align(num, digits)
if tonumber(digits) and tonumber(num) then
local n = tonumber(num)
digits = tonumber(digits)
if digits == 1 then
if n >= 0 and n < 10 then
return '<span style="visibility:hidden;color:transparent;">0</span>' .. num
end
elseif digits == 2 then
if n >= 0 and n < 10 then
return '<span style="visibility:hidden;color:transparent;">00</span>' .. num
elseif n >= 10 and n < 100 then
return '<span style="visibility:hidden;color:transparent;">0</span>' .. num
end
end
end
return num
end
function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show)
-- Build the inner parts of individual rows
-- Sub-module usage
local mm = require('Modul:Math')
local yesno = require('Modul:Yesno')
-- Get custom/default options for in table
local show_win = yesno(Args['show_win'] or 'yes')
local show_draw = yesno(Args['show_draw'] or 'yes')
local show_loss = yesno(Args['show_loss'] or 'yes')
local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2)
local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0)
local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1)
local rw_points = tonumber(Args['rwpoints']) or 1
local digits = Args['digitpad']
local total_row_name = 'SPORTS_TABLE_TOTAL'
-- Add to tallies if enabled
if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then
for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do
Args[v .. '_' .. total_row_name] =
(tonumber(Args[v .. '_' .. total_row_name]) or 0)
+ (tonumber(Args[v .. '_' .. team_code_ii]) or 0)
end
end
-- Order of draws and losses --
local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false
-- Optional rounds won
local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no')
-- Get some input
local wins = tonumber(Args['win_'..team_code_ii]) or 0
local draws = tonumber(Args['draw_'..team_code_ii]) or 0
local losses = tonumber(Args['loss_'..team_code_ii]) or 0
local rw = tonumber(Args['rw_'..team_code_ii]) or 0
local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?'
local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?'
local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0)
local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil
local ranking_style = string.lower(Args['ranking_style'] or 'pts')
local pct_style = string.lower(Args['pct_style'] or 'ratio')
-- Then calculate some values
local matches = wins + draws + losses
local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts
if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then
points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii])
end
local matches_text = matches
if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then
matches = tonumber(Args['matches_'..team_code_ii]) or matches
matches_text = Args['matches_'..team_code_ii] or matches
end
local win_perc = ''
local ppg = ''
if tonumber(matches) == nil or matches == 0 then
-- Escape for zero matches
win_perc = '—'
ppg = '—'
else
--Some sports use draw as well
win_perc = (pct_style == 'ratio') and
mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or
mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2)
-- Allow win_perc to be altered due to point deductions/additions
ppg = mm._precision_format(points / matches, 2)
if (losses > 0 or draws > 0) and pct_style == 'ratio' then
-- Drop the leading zero (from the string)
win_perc = string.sub(win_perc,2,string.len(win_perc))
end
end
if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' then
if matches == 0 then
win_perc = '—'
else
win_perc = mm._precision_format(100 * wins / matches, 2)
end
end
-- Show for/against
local for_against_style = Args['for_against_style'] or 'goals'
local hide_for_against = false
for_against_style = string.lower(for_against_style)
if for_against_style=='none' then
hide_for_against = true
end
-- Comparison of for against
local gcomp = nil
-- Whether to use goal ratio (goal average) or goal percentage instead
local skip_sign
if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then
-- Now it is the goal ratio/goal average
if (gfor == '?') or (gaig == '?') or gaig == 0 then
gcomp = '—'
else
gcomp = mm._precision_format(gfor / gaig, 3)
end
elseif yesno(Args['use_goal_percentage'] or 'no') then
-- Now it is the percentage
if (gfor == '?') or (gaig == '?') or gaig == 0 then
gcomp = '—'
else
gcomp = mm._precision_format(100 * gfor / gaig , 1)
end
elseif yesno(Args['use_point_percentage'] or 'no') then
-- Now it is the point percentage
if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then
gcomp = '—'
else
gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2)
end
elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then
-- Now it is the point for average
if (gfor == '?') or matches <= 0 then
gcomp = '—'
else
gcomp = mm._precision_format(gfor / matches , 1)
end
elseif yesno(Args['use_goal_diff'] or 'yes') then
-- It's goal difference
if (gfor == '?') or (gaig == '?') then
gcomp = '—'
else
gcomp = gfor - gaig
-- Formatting with signs
if gcomp>0 then
gcomp='+'..num_align(gcomp,digits)
elseif gcomp < 0 then
gcomp='−'..-num_align(gcomp,digits)
end
end
end
-- Use actual values if gfor or gaig is not numeric
if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end
if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end
-- Show games behind
local show_GB = yesno(Args['show_GB'] or 'no')
local GB_text = '—'
if show_GB then
local GB_team_no = tonumber(Args['GB_team']) or 1
if ii == GB_team_no then
-- Do nothing, it's vs this team
else
local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0
local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0
local GB_num = (wins_GB-wins+losses-losses_GB)/2
-- Display options
if GB_num >0 then
-- Indicates trailing GB_team
GB_text = num_align(GB_num,digits)
elseif GB_num == 0 then
-- Equal, do nothing to get dash
else
-- Ahead of GB team, should be noted by plus (instead of minus that comes from formula)
GB_text = '+'..num_align(-GB_num,digits)
end
end
end
-- Some local vars
local hth_string
local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val)
hth_string = tt_return.str
hth_id_list = tt_return.list
notes_exist = tt_return.notes_exist
-- What to rank the teams by
local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false
local win_fw, win_string
if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then
-- Based on wins
win_fw = 'font-weight: bold;'
win_string = hth_string
elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then
-- Based on percentage
rank_perc = true
win_fw=ii_fw
win_string = ''
elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='%w' then
-- Based on percentage
rank_wperc = true
win_fw=ii_fw
win_string = ''
elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then
-- Based on points per game
rank_ppg = true
win_fw=ii_fw
win_string = ''
elseif ranking_style=='percpts' or ranking_style=='%pts' then
-- Based on percentage and points
rank_perc = true
rank_points = true
win_fw=ii_fw
win_string = ''
elseif ranking_style=='ppgpts' then
-- Based on ppg and points
rank_ppg = true
rank_points = true
win_fw=ii_fw
win_string = ''
elseif ranking_style=='none' then
win_fw=ii_fw
win_string = ''
else
-- Based on points
rank_points = true
win_fw=ii_fw
win_string = ''
end
local show_played = not yesno(Args['hide_played'] or 'no')
local show_away_goals = yesno(Args['show_away_goals'] or 'no')
local show_bonus_points = yesno(Args['show_bonus_points'] or 'no')
local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no')
-- Row building
if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then
table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n')
end
if pts_perc_first then
if rank_points then
-- Add − for negative point totals
if points<0 then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | −'..num_align(-points,digits)..hth_string..'\n')
else
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n')
end
end
if rank_perc then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n')
elseif rank_wperc then
table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n')
end
if rank_ppg then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n')
end
end
if show_played then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played
end
if full_table then
-- Use actual values if wins, draws, and losses are not numeric
if (wins == 0 and draws == 0 and losses == 0) then
local function numorval(s)
return s and ((s == '' and 0) or tonumber(s) or s) or 0
end
wins = numorval(Args['win_'..team_code_ii])
draws = numorval(Args['draw_'..team_code_ii])
losses = numorval(Args['loss_'..team_code_ii])
end
if show_win then
table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won
end
if loss_first then
if show_loss then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost
end
if show_draw then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn
end
else
if show_draw then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn
end
if show_loss then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost
end
end
if rounds_won then
if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then
rw = Args['rw_' .. team_code_ii] or ''
end
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won
end
if not hide_for_against then
if not yesno(Args['hide_for_against_columns'] or 'no') then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA
end
if gcomp then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison
end
end
end
if show_away_goals then
table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n')
end
if show_bonus_points then
if s_pts < 0 then
table.insert(t,'| style="'..bg_col..'" | −'..num_align(-s_pts,digits)..'\n')
else
table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n')
end
end
if not pts_perc_first then
if rank_points then
-- Add − for negative point totals
if points<0 then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | −'..num_align(-points,digits)..hth_string..'\n')
else
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n')
end
end
if rank_perc then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n')
elseif rank_wperc then
table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n')
end
if rank_ppg then
table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n')
end
end
if show_GB then
table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB
end
return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list}
end
function pp.status(Args)
-- Declare status options
-- ------------------------------------------------------------
-- NOTE: If you add to status_code, also add to status_called and status_letters!!
-- Or functionality will be compromised
-- ------------------------------------------------------------
local status_code, status_called = {}, {}
status_code = { B='Bajnok', C='Kupagyőztes', D='Kizárták', F='Feljutott',
I='Kupainduló', K='Kiesett', O='Osztályozó', R='Rendező', T='Továbbjutott',
X='?', Y='?', Z='?' }
local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-- Status position (before or after read and default)
local stat_pos_val = string.lower(Args['status_pos'] or '')
local status_position = 'after' -- Default location
if stat_pos_val=='before' then
status_position = 'before'
elseif stat_pos_val=='after' then
status_position = 'after'
end
-- Read in custom status options
for l in mw.text.gsplit(status_letters, '') do
status_called[l] = false
status_code[l] = status_code[l] or '?'
status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1')
if Args['status_text_' .. l] then
status_code[l] = Args['status_text_' .. l]
end
end
return {code=status_code, called=status_called, letters=status_letters, position=status_position}
end
return pp