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