Модуль:CategoryMenu: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 26: | Строка 26: | ||
local paragraphContent = args['category' .. i .. '-paragraph' .. j .. '-content'] | local paragraphContent = args['category' .. i .. '-paragraph' .. j .. '-content'] | ||
menu:tag('div'):addClass('category' .. i .. '-paragraph' .. j):wikitext(paragraph) | menu:tag('div'):addClass('category' .. i .. '-paragraph' .. j):wikitext(paragraph) | ||
contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext(paragraphContent) | if paragraphContent then | ||
contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext(paragraphContent) | |||
else | |||
contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext('Контент отсутствует') | |||
end | |||
j = j + 1 | j = j + 1 | ||
end | end | ||
Версия от 02:18, 19 сентября 2024
Для документации этого модуля может быть создана страница Модуль:CategoryMenu/doc
local p = {}
function p.generate(frame)
local args = frame:getParent().args
local html = mw.html.create()
-- Контейнер для категорий
local categoriesDiv = html:tag('div'):addClass('categories')
-- Контейнер для меню и контента
local mainContainer = html:tag('div'):addClass('main-container')
local menuContainer = mainContainer:tag('div'):addClass('menu-container')
local contentContainer = mainContainer:tag('div'):addClass('content')
-- Проходим по всем категориям
local i = 1
while args['category' .. i] do
local category = args['category' .. i]
categoriesDiv:tag('div'):addClass('category' .. i):wikitext(category)
-- Создаём меню для этой категории
local menu = menuContainer:tag('div'):addClass('menu'):addClass('category' .. i .. '-menu')
local j = 1
while args['category' .. i .. '-paragraph' .. j] do
local paragraph = args['category' .. i .. '-paragraph' .. j]
local paragraphContent = args['category' .. i .. '-paragraph' .. j .. '-content']
menu:tag('div'):addClass('category' .. i .. '-paragraph' .. j):wikitext(paragraph)
if paragraphContent then
contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext(paragraphContent)
else
contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext('Контент отсутствует')
end
j = j + 1
end
i = i + 1
end
-- Возвращаем сгенерированный HTML-код
return tostring(html)
end
return p