پودمان:FootballPlayer: تفاوت میان نسخهها
ظاهر
صفحهای تازه حاوی «local p = {} local function add(t,h,l,d) if d and mw.text.trim(d) ~= '' then table.insert(t,{ header=h, label=l, data=d }) end end local function addHeader(t,text) table.insert(t,{ header=text }) end local function buildRows(args) local rows={} addHeader(rows,"اطلاعات فردی") add(rows,nil,"نام کامل",args["نام کامل"]) add(rows,nil,"تاریخ تولد",args["تاریخ تولد"]) ad...» ایجاد کرد |
جزبدون خلاصۀ ویرایش |
||
| (یک نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد) | |||
| خط ۱: | خط ۱: | ||
local frame = mw.getCurrentFrame() | |||
local styles = frame:extensionTag{ | |||
name = "templatestyles", | |||
args = { | |||
src = "Module:FootballPlayer/styles.css" | |||
} | |||
} | |||
local p = {} | local p = {} | ||
local function | local html = mw.html | ||
if | |||
local function trim(v) | |||
if not v then | |||
return "" | |||
end | 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 | end | ||
local function | local function th(row,text,class) | ||
row:tag("th") | |||
:addClass(class or "") | |||
:wikitext(text or "") | |||
end | end | ||
local function | 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( | addHeader(tbl,"دوران جوانان") | ||
local row=tbl:tag("tr") | |||
local cell=row:tag("td") | |||
:attr("colspan","2") | |||
local t=html.create("table") | |||
:addClass("football-subtable") | |||
local | local h=t:tag("tr") | ||
h:tag("th"):wikitext("سالها") | |||
h:tag("th"):wikitext("باشگاه") | |||
for i=1,10 do | |||
local years=args["سالهای جوانان"..i] | local years=args["سالهای جوانان"..i] | ||
local club=args["جوانان"..i] | local club=args["جوانان"..i] | ||
if (years | 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 | ||
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 | ||
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, | for i=1,20 do | ||
local years=args["سالها"..i] | local years=args["سالها"..i] | ||
| خط ۷۶: | خط ۱۵۰: | ||
local goals=args["گل"..i] | local goals=args["گل"..i] | ||
if (years | 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 | ||
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 | 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, | for i=1,10 do | ||
local years=args["سالهای ملی"..i] | local years=args["سالهای ملی"..i] | ||
| خط ۱۲۵: | خط ۲۰۸: | ||
local goals=args["گل ملی"..i] | local goals=args["گل ملی"..i] | ||
if (years | 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 | ||
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 | ||
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 | end | ||
return p | return p | ||
نسخهٔ کنونی تا ۳۰ ژوئن ۲۰۲۶، ساعت ۱۱:۳۵
توضیحات این پودمان میتواند در پودمان: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