Модуль:CategoryMenu: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
local p = {} | local p = {} | ||
-- Функция для рендеринга категории | |||
function p.renderCategory(paragraphs, contents, categoryName, categoryIndex) | function p.renderCategory(paragraphs, contents, categoryName, categoryIndex) | ||
local html = mw.html.create() | local html = mw.html.create() | ||
| Строка 15: | Строка 16: | ||
for i, paragraph in ipairs(paragraphs) do | for i, paragraph in ipairs(paragraphs) do | ||
categoryMenu:tag('div') | if paragraph then | ||
categoryMenu:tag('div') | |||
:addClass('category' .. categoryIndex .. '-paragraph' .. i) | |||
:wikitext(paragraph) | |||
end | |||
end | end | ||
| Строка 24: | Строка 27: | ||
for i, contentText in ipairs(contents) do | for i, contentText in ipairs(contents) do | ||
content:tag('div') | if contentText then | ||
content:tag('div') | |||
:addClass('category' .. categoryIndex .. '-paragraph' .. i .. '-content') | |||
:wikitext(contentText) | |||
end | |||
end | end | ||
| Строка 32: | Строка 37: | ||
end | end | ||
-- Главная функция, которая вызывается в шаблоне | |||
function p.main(frame) | function p.main(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
| Строка 59: | Строка 65: | ||
for j = 1, 3 do | for j = 1, 3 do | ||
table.insert(paragraphs, args['category' .. i .. '-paragraph' .. j]) | table.insert(paragraphs, args['category' .. i .. '-paragraph' .. j] or '') | ||
table.insert(contents, args['category' .. i .. '-paragraph' .. j .. '-content']) | table.insert(contents, args['category' .. i .. '-paragraph' .. j .. '-content'] or '') | ||
end | end | ||