转跳到内容

新人报到


推荐贴

1 分钟前, 攸薩 说道:

:NEKOMIMI_PARADISE_18:大神!!话说你要加入本论坛的百科填写员吗?

很缺这种强大的技术佬!

  隐藏内容
local p = {}

local args--存参数
local frame
local anums = {}--存行数

--添加行
function addTableRow(tbl)
    return tbl:tag('tr')
end

--处理表头
function renderHeaderRow(tbl)

    local headerRow = addTableRow(tbl)
    headerRow
        :tag('th')
            :wikitext('作者')
	    :css('color','#004B97')--文字颜色
	    :css('background-color','#FF9224')--底色
            :css('border-width', '5px 1px 3px 5px')
            :css('border-color','#D26900 #FF9224 #D26900 #D26900')
            :css('border-top-style','double')
            :css('border-bottom-style','dashed')
            :css('border-left-style','double')
            :css('width', '5%')
            :attr('scope', 'column')
        :done()
        :tag('th')
            :wikitext('主题')
	    :css('color','#0066CC')
	    :css('background-color','#FFAD86')
            :css('border-width', '5px 1px 3px 1px')
            :css('border-color','#D26900 #FFAD86 #D26900 #FFAD86')
            :css('border-top-style','double')
            :css('border-bottom-style','dashed')
            :css('border-right-style','double')
            :css('width', '25%')
            :attr('scope', 'column')
        :done()
        :tag('th')
            :wikitext('简介')
	    :css('color','#0066CC')
	    :css('background-color','#FFAD86')
            :css('border-width', '5px 5px 3px 1px')
            :css('border-color','#D26900 #D26900 #D26900 #FF9224')
            :css('border-top-style','double')
            :css('border-bottom-style','dashed')
            :css('border-right-style','double')
            :css('width', '35%')
            :attr('scope', 'column')
        :done()

end

--处理某一行数据
function renderListRow(tb1, anum)
    local row = addTableRow(tb1)--添加行,并将当前行传给row

    if args['a' .. anum] then
        local activity = row:tag('td')--添加单元格,并将该单元格传给activity
        activity
        :attr('align', 'center')--单元格样式
	:css('padding','3px')
	:css('color','#004B97')--文字颜色
	:css('background-color','#FF9224')--底色
        :css('border-width', '5px 1px 3px 5px')
        :css('border-color','#D26900 #FF9224 #D26900 #D26900')
        :css('border-top-style','dashed')
        :css('border-bottom-style','double')
        :css('border-left-style','double')
        :wikitext(args['a' .. anum])
    end
    
    local info = row:tag('td')--再添加单元格,并将该单元格传给info

    info
    :wikitext(args['i' .. anum])--单元格样式
    :css('color','#0066CC')
    :css('padding','10px')
    :css('background-color','#FFDCB9')
    :css('border-width', '5px 1px 3px 1px')
    :css('border-color','#D26900 #FFDCB9 #D26900 #FF9224')
    :css('border-top-style','dashed')
    :css('border-bottom-style','double')
    :css('border-right-style','double')

    local info1 = row:tag('td')--再添加单元格,并将该单元格传给info

    info1
    :wikitext(args['e' .. anum])--单元格样式
    :css('color','#0066CC')
    :css('background-color','#FFE4CA')
    :css('border-width', '5px 5px 3px 1px')
    :css('border-color','#D26900 #D26900 #D26900 #FF9224')
    :css('padding','10px')
    :css('border-top-style','dashed')
    :css('border-bottom-style','double')
    :css('border-right-style','double')

end

--处理表格
function renderMainTable()
    local tb1 = mw.html.create('table')--创建table
        --.attr('cellspacing', 0)--在这里table添加样式
        :addClass('wikitable')
        :addClass('mw-collapsible')
        :addClass('mw-collapsed')
        :css('width', '60%')
    
    renderHeaderRow(tb1)
    for i, anum in ipairs(anums) do--循环处理每一行数据
        renderListRow(tb1, anum)
    end

    return tb1
end

function p._historicalActivity(Args)
    args = Args
    
    for k, v in pairs(args) do--计算行数
        local anum = ('' .. k):match('^a(%d+)$')
        if anum then table.insert(anums, tonumber(anum)) end
    end
    table.sort(anums)

    --处理表格
    local tb1 = renderMainTable()

    local res = mw.html.create()
    res:node(tb1)
 
    return tostring(res)
end

function p.historicalActivity(frame)
    local args = {}
    local parent_args = frame:getParent().args;--获取页面传来得参数,而不是模板的参数

    -- Out of order parsing bug.
    -- 不懂
    local temp;
    for i = 1, 50 do
        temp = parent_args["a" .. tostring(i)];
        temp = parent_args["i" .. tostring(i)];
    end
    
    --将获取的参数传给args
    for k, v in pairs(parent_args) do
        if v ~= '' then
            args[k] = v
        end
    end
    return p._historicalActivity(args)
end

return p

语法在上面~

第一个可以改成相反的效果吗?

第二个目前是

|A

|I

|E

但是想要这种模式不改的情况下,

不打|E 自己就会消失表头,

打|e又会出现e的表头

啊啊...果然是Lua...看起来是Scribunto插件...待我读一下(大悲

链接到点评
刚刚, 起名字好麻烦的 说道:

以前也是挺认真的同学呀,感觉是模考压力太大了有点压垮了。弄得不知道该怎么办一边想学一边只能睡

:SS04:就是已经崩了?话说你怎样缓解自己呢?

攸薩路上捡到一枚勋章,然后把它交给了拍着手跳来跳去喊着“咸鱼”的萌妹子,获得3节操。

链接到点评

创建帐号或登入才能点评

您必须成为用户才能点评

创建帐号

在我们社区注册个新的帐号。非常简单!

注册新帐号

登入

已有帐号? 登入

现在登入
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款