پرش به محتوا

پودمان:Infobox football biography: تفاوت میان نسخه‌ها

از ویکی البرز
جزبدون خلاصۀ ویرایش
جزبدون خلاصۀ ویرایش
خط ۱: خط ۱:
local p = {}
local p = {}
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local function isSet(v)
    if v == nil then return false end
    return mw.text.trim(tostring(v)) ~= ''
end
local function firstArg(args, ...)
    for i = 1, select('#', ...) do
        local key = select(i, ...)
        if isSet(args[key]) then return args[key] end
    end
    return nil
end
local function addRow(root, label, data)
    if not isSet(data) then return end
    local row = root:tag('tr')
    row:tag('th'):attr('scope', 'row'):addClass('infobox-label'):wikitext(label)
    row:tag('td'):attr('colspan', '3'):addClass('infobox-data'):wikitext(data)
end
local function addMultiDataRow(root, label, dataa, datab, datac)
    if not isSet(dataa) and not isSet(datab) and not isSet(datac) then return end
    local row = root:tag('tr')
    row:tag('th'):attr('scope', 'row'):addClass('infobox-label'):wikitext(label)
    row:tag('td'):addClass('infobox-data infobox-data-a'):wikitext(isSet(dataa) and dataa or '')
    if isSet(datab) then row:tag('td'):addClass('infobox-data infobox-data-b'):wikitext(datab) end
    if isSet(datac) then row:tag('td'):addClass('infobox-data infobox-data-c'):wikitext(datac) end
end


function p.main(frame)
function p.main(frame)
خط ۳۵: خط ۶:
     local root = mw.html.create('table')
     local root = mw.html.create('table')
         :addClass('infobox')
         :addClass('infobox')
         :addClass(args.child == 'yes' and 'infobox-subbox' or nil)
         :css('width', '22em')
        :cssText(args.bodystyle or 'width: 22em;')


    -- Title + Image (ساده)
     root:tag('caption')
    local title = firstArg(args, 'name', 'playername') or mw.title.getCurrentTitle().text
        :addClass('infobox-title')
     root:tag('caption'):addClass('infobox-title'):wikitext(title)
        :wikitext(args.name or args.playername or mw.title.getCurrentTitle().text)


     if isSet(args.image) then
     root:tag('tr'):tag('th')
        local img = root:tag('tr'):tag('td'):attr('colspan', '4'):addClass('infobox-image'):wikitext(args.image)
        :attr('colspan', '4')
         if isSet(args.caption) then img:tag('div'):addClass('infobox-caption'):wikitext(args.caption) end
        :addClass('infobox-header')
    end
         :wikitext('اطلاعات شخصی')


     -- اطلاعات شخصی
     local row = root:tag('tr')
    root:tag('tr'):tag('th'):attr('colspan', '4'):addClass('infobox-header'):wikitext('اطلاعات شخصی')
    row:tag('th'):wikitext('نام کامل')
    addRow(root, 'نام کامل', firstArg(args, 'fullname', 'full_name', 'نام کامل'))
     row:tag('td'):attr('colspan', '3'):wikitext(args.fullname or args.full_name or '')
     addRow(root, 'زادروز', firstArg(args, 'birth_date', 'dateofbirth', 'زادروز'))
    addRow(root, 'زادگاه', firstArg(args, 'birth_place', 'cityofbirth', 'زادگاه'))
    addRow(root, 'قد', firstArg(args, 'height', 'قد'))
    addRow(root, 'پست', firstArg(args, 'position', 'پست'))
 
    -- باشگاه کنونی
    local curr = firstArg(args, 'currentclub', 'باشگاه کنونی')
    if isSet(curr) then
        root:tag('tr'):tag('th'):attr('colspan', '4'):addClass('infobox-header'):wikitext('اطلاعات باشگاهی')
        addRow(root, 'باشگاه کنونی', curr)
    end


    -- فقط بخش‌های اصلی برای تست
     return tostring(root)
     return tostring(root)
end
end


return p
return p

نسخهٔ ‏۷ ژوئیهٔ ۲۰۲۶، ساعت ۱۹:۵۲

توضیحات این پودمان می‌تواند در پودمان:Infobox football biography/توضیحات قرار گیرد.

local p = {}
local getArgs = require('Module:Arguments').getArgs

function p.main(frame)
    local args = getArgs(frame)
    local root = mw.html.create('table')
        :addClass('infobox')
        :css('width', '22em')

    root:tag('caption')
        :addClass('infobox-title')
        :wikitext(args.name or args.playername or mw.title.getCurrentTitle().text)

    root:tag('tr'):tag('th')
        :attr('colspan', '4')
        :addClass('infobox-header')
        :wikitext('اطلاعات شخصی')

    local row = root:tag('tr')
    row:tag('th'):wikitext('نام کامل')
    row:tag('td'):attr('colspan', '3'):wikitext(args.fullname or args.full_name or '—')

    return tostring(root)
end

return p