پودمان:FootballPlayer
ظاهر
توضیحات این پودمان میتواند در پودمان:FootballPlayer/توضیحات قرار گیرد.
local frame = mw.getCurrentFrame()
local styles = frame:extensionTag{
name = "templatestyles",
args = {
src = "Module:FootballPlayer/styles.css"
}
}
local p = {}
local html = mw.html
local function trim(v)
if not v then
return ""
end
return mw.text.trim(v)
end
local function has(v)
return trim(v) ~= ""
end
local function td(row,text,class)
row:tag("td")
:addClass(class or "")
:wikitext(text or "")
end
local function th(row,text,class)
row:tag("th")
:addClass(class or "")
:wikitext(text or "")
end
local function addRow(tbl,label,value)
if not has(value) then
return
end
local row=tbl:tag("tr")
th(row,label,"football-label")
td(row,value,"football-data")
end
local function addHeader(tbl,title)
local row=tbl:tag("tr")
row:tag("th")
:attr("colspan","2")
:addClass("football-header")
:wikitext(title)
end
local function buildYouth(tbl,args)
local found=false
for i=1,10 do
if has(args["جوانان"..i]) then
found=true
break
end
end
if not found then
return
end
addHeader(tbl,"دوران جوانان")
local row=tbl:tag("tr")
local cell=row:tag("td")
:attr("colspan","2")
local t=html.create("table")
:addClass("football-subtable")
local h=t:tag("tr")
h:tag("th"):wikitext("سالها")
h:tag("th"):wikitext("باشگاه")
for i=1,10 do
local years=args["سالهای جوانان"..i]
local club=args["جوانان"..i]
if has(years) or has(club) then
local r=t:tag("tr")
r:tag("td"):wikitext(years or "")
r:tag("td"):wikitext(club or "")
end
end
cell:node(t)
end
local function buildClubCareer(tbl,args)
local found=false
for i=1,20 do
if has(args["باشگاه"..i]) then
found=true
break
end
end
if not found then
return
end
addHeader(tbl,"دوران باشگاهی")
local row=tbl:tag("tr")
local cell=row:tag("td")
:attr("colspan","2")
local t=html.create("table")
:addClass("football-subtable")
local h=t:tag("tr")
h:tag("th"):wikitext("سالها")
h:tag("th"):wikitext("باشگاه")
h:tag("th"):wikitext("بازی")
h:tag("th"):wikitext("گل")
for i=1,20 do
local years=args["سالها"..i]
local club=args["باشگاه"..i]
local apps=args["بازی"..i]
local goals=args["گل"..i]
if has(years) or has(club) or has(apps) or has(goals) then
local r=t:tag("tr")
r:tag("td"):wikitext(years or "")
r:tag("td"):wikitext(club or "")
r:tag("td"):wikitext(apps or "")
r:tag("td"):wikitext(goals or "")
end
end
cell:node(t)
end
local function buildNationalCareer(tbl,args)
local found=false
for i=1,10 do
if has(args["تیم ملی"..i]) then
found=true
break
end
end
if not found then
return
end
addHeader(tbl,"تیم ملی")
local row=tbl:tag("tr")
local cell=row:tag("td")
:attr("colspan","2")
local t=html.create("table")
:addClass("football-subtable")
local h=t:tag("tr")
h:tag("th"):wikitext("سالها")
h:tag("th"):wikitext("تیم")
h:tag("th"):wikitext("بازی")
h:tag("th"):wikitext("گل")
for i=1,10 do
local years=args["سالهای ملی"..i]
local team=args["تیم ملی"..i]
local apps=args["بازی ملی"..i]
local goals=args["گل ملی"..i]
if has(years) or has(team) or has(apps) or has(goals) then
local r=t:tag("tr")
r:tag("td"):wikitext(years or "")
r:tag("td"):wikitext(team or "")
r:tag("td"):wikitext(apps or "")
r:tag("td"):wikitext(goals or "")
end
end
cell:node(t)
end
function p.main(frame)
local args=frame:getParent().args
local tbl=html.create("table")
:addClass("wikitable")
:addClass("infobox")
:addClass("football-infobox")
:css("width","320px")
:css("float","left")
:css("margin","0 0 1em 1em")
local title=tbl:tag("caption")
:addClass("football-title")
title:wikitext(
has(args["نام"]) and args["نام"] or mw.title.getCurrentTitle().text
)
if has(args["تصویر"]) then
local row=tbl:tag("tr")
local cell=row:tag("td")
:attr("colspan","2")
:addClass("football-image")
local img="[[پرونده:"..args["تصویر"]
if has(args["اندازه تصویر"]) then
img=img.."|"..args["اندازه تصویر"]
else
img=img.."|250px"
end
img=img.."]]"
cell:wikitext(img)
if has(args["توضیح تصویر"]) then
cell:tag("div")
:addClass("football-caption")
:wikitext(args["توضیح تصویر"])
end
end
addHeader(tbl,"اطلاعات فردی")
addRow(tbl,"نام کامل",args["نام کامل"])
addRow(tbl,"تاریخ تولد",args["تاریخ تولد"])
addRow(tbl,"محل تولد",args["محل تولد"])
addRow(tbl,"قد",args["قد"])
addRow(tbl,"پست",args["پست"])
addRow(tbl,"ملیت",args["ملیت"])
addHeader(tbl,"اطلاعات باشگاهی")
addRow(tbl,"باشگاه کنونی",args["باشگاه کنونی"])
addRow(tbl,"شماره",args["شماره"])
buildYouth(tbl,args)
buildClubCareer(tbl,args)
buildNationalCareer(tbl,args)
return styles .. tostring(tbl)
end
return p