Модуль:CategoryMenu: различия между версиями

Нет описания правки
Нет описания правки
Строка 16: Строка 16:
     -- Собираем пункты и контент для каждой категории
     -- Собираем пункты и контент для каждой категории
     for key, value in pairs(args) do
     for key, value in pairs(args) do
         local category, paragraph, content = key:match("^(category%d+)-(paragraph%d+)(-content)?$")
         local category, paragraph, content = key:match("^(category%d+)-paragraph(%d+)(-content)?$")
         if category and categories[category] then
         if category and categories[category] then
            if not categories[category].paragraphs[paragraph] then
                categories[category].paragraphs[paragraph] = {}
            end
             if content then
             if content then
                categories[category].paragraphs[paragraph] = categories[category].paragraphs[paragraph] or {}
                 categories[category].paragraphs[paragraph].content = value
                 categories[category].paragraphs[paragraph].content = value
             else
             else
                categories[category].paragraphs[paragraph] = categories[category].paragraphs[paragraph] or {}
                 categories[category].paragraphs[paragraph].title = value
                 categories[category].paragraphs[paragraph].title = value
             end
             end
Строка 43: Строка 44:
         output = output .. string.format('<div class="menu %s-menu">\n', category)
         output = output .. string.format('<div class="menu %s-menu">\n', category)
         for paragraph, paragraphData in pairs(data.paragraphs) do
         for paragraph, paragraphData in pairs(data.paragraphs) do
             output = output .. string.format('<div class="%s-%s">%s</div>\n', category, paragraph, paragraphData.title or "")
             output = output .. string.format('<div class="%s-paragraph%s">%s</div>\n', category, paragraph, paragraphData.title)
         end
         end
         output = output .. '</div>\n'
         output = output .. '</div>\n'
Строка 53: Строка 54:
     for category, data in pairs(categories) do
     for category, data in pairs(categories) do
         for paragraph, paragraphData in pairs(data.paragraphs) do
         for paragraph, paragraphData in pairs(data.paragraphs) do
             output = output .. string.format('<div class="%s-%s-content">%s</div>\n', category, paragraph, paragraphData.content or "")
             output = output .. string.format('<div class="%s-paragraph%s-content">%s</div>\n', category, paragraph, paragraphData.content or "")
         end
         end
     end
     end