Модуль: Infobox tmp: различия между версиями 🔗
Материал из VEDA Wiki
Sphynkx (обсуждение | вклад) Нет описания правки |
Sphynkx (обсуждение | вклад) Нет описания правки |
||
Строка 2: | Строка 2: | ||
function p.event_members( frame ) | function p.event_members( frame ) | ||
local count = 0 | local name = frame.args[1] | ||
local t = {[[<table border= | local count = 0 -- computes overall amount of members as 1 per person or as number in 'Количество' field | ||
local t = {[[<table border=0> | |||
<tr><td colspan=2> | <tr><td colspan=2> | ||
<div {{DivWrapOpts}}>]] .. '[[Категория:WrapBlock]]'..[[ | <div {{DivWrapOpts}}>]] .. '[[Категория:WrapBlock]]'..[[ | ||
<table border= | <table border=0 width=100%><tr><td colspan="2" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold; text-align: center;">Участники</td></tr></table> | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<table border= | <table border=0> | ||
]]} | ]]} | ||
for i in string.gmatch(name, "[^;]+") do | for i in string.gmatch(name, "[^;]+") do | ||
local field2 = '' | local field2 = '' | ||
Строка 34: | Строка 32: | ||
</tr><tr> | </tr><tr> | ||
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Категория:</td> | <td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Категория:</td> | ||
<td>]]..l[2]..'</td></tr>' | <td>]] .. l[2] .. '</td></tr>' | ||
end -- if l[2] | end -- if l[2] | ||
Строка 45: | Строка 43: | ||
</tr><tr> | </tr><tr> | ||
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Количество:</td> | <td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Количество:</td> | ||
<td>]]..l[3]..'</td></tr>' | <td>]] .. l[3] .. '</td></tr>' | ||
count = count + l[3] | count = count + l[3] | ||
end -- if l[3] | end -- if l[3] | ||
Строка 54: | Строка 52: | ||
</tr><tr> | </tr><tr> | ||
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Имя:</td> | <td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Имя:</td> | ||
<td>]]..l[1]..'</td></tr>' | <td>]] .. l[1] .. '</td></tr>' | ||
.. | .. field2 .. field3) | ||
field2 | |||
.. | |||
field3) | |||
end -- 'for i' cycle | end -- 'for i' cycle | ||
table.insert(t, [[</table> | table.insert(t, [[</table> | ||
</div></div> | </div></div> | ||
</td></tr> | </td></tr> | ||
<tr> | <tr> | ||
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Общее число:</td> | <td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Общее число:</td> |
Версия от 17:49, 2 октября 2024
Для документации этого модуля может быть создана страница Модуль:Infobox tmp/doc
local p = {} -- p stands for package
function p.event_members( frame )
local name = frame.args[1]
local count = 0 -- computes overall amount of members as 1 per person or as number in 'Количество' field
local t = {[[<table border=0>
<tr><td colspan=2>
<div {{DivWrapOpts}}>]] .. '[[Категория:WrapBlock]]'..[[
<table border=0 width=100%><tr><td colspan="2" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold; text-align: center;">Участники</td></tr></table>
<div class="mw-collapsible-content">
<table border=0>
]]}
for i in string.gmatch(name, "[^;]+") do
local field2 = ''
local field3 = ''
table.insert(t, [[<tr>
<td colspan="2" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold; text-align: center;">Участник</td>
</tr>]])
local l = {}
for k in string.gmatch(i, "[^!]+") do
table.insert(l, k)
end
if l[2] == nil or l[2] == '' or l[2] == ' ' then
field2 = ''
else
field2 = [[<tr>
<td colspan="2"><hr></td>
</tr><tr>
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Категория:</td>
<td>]] .. l[2] .. '</td></tr>'
end -- if l[2]
if l[3] == nil or l[3] == '' or l[3] == ' ' then
field3 = ''
count = count + 1
else
field3 = [[<tr>
<td colspan="2"><hr></td>
</tr><tr>
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Количество:</td>
<td>]] .. l[3] .. '</td></tr>'
count = count + l[3]
end -- if l[3]
table.insert(t,
[[<tr>
<td colspan="2"><hr></td>
</tr><tr>
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Имя:</td>
<td>]] .. l[1] .. '</td></tr>'
.. field2 .. field3)
end -- 'for i' cycle
table.insert(t, [[</table>
</div></div>
</td></tr>
<tr>
<td align="left" width="10%" bgcolor="#{{#dplvar:boxbgcolor}}" style="font-weight: bold;">Общее число:</td>
<td>не менее
]] .. count .. '</td></tr>')
return table.concat(t, "")
end
return p