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

мНет описания правки
мНет описания правки
Строка 7: Строка 7:
     end
     end


     -- Обработка до 5 категорий и до 8 пунктов в каждой категории
     -- Обработка неограниченного количества категорий
     local categories = {}
     local categories = {}
     for i = 1, 5 do
     local i = 1
 
    while true do
         local categoryName = getArg("category" .. i)
         local categoryName = getArg("category" .. i)
       
        -- Если категория не задана, пропускаем ее
        if categoryName then
            local category = {
                name = categoryName,
                paragraphs = {},
                contents = {}
            }


             -- Для каждой категории обрабатываем до 8 пунктов
        -- Если категория не задана, выходим из цикла
            for j = 1, 8 do
        if not categoryName then
                local paragraph = getArg("category" .. i .. "-paragraph" .. j)
             break
                local content = getArg("category" .. i .. "-paragraph" .. j .. "-content")
        end
 
        local category = {
            name = categoryName,
            paragraphs = {},
            contents = {}
        }
 
        -- Обработка неограниченного количества пунктов для каждой категории
        local j = 1
        while true do
            local paragraph = getArg("category" .. i .. "-paragraph" .. j)
            local content = getArg("category" .. i .. "-paragraph" .. j .. "-content")


                -- Добавляем только те пункты и контент, которые заданы
            -- Если пункт или контент не заданы, выходим из цикла
                if paragraph and content then
            if not paragraph or not content then
                    table.insert(category.paragraphs, paragraph)
                 break
                    table.insert(category.contents, content)
                 end
             end
             end


             table.insert(categories, category)
             table.insert(category.paragraphs, paragraph)
            table.insert(category.contents, content)
 
            j = j + 1
         end
         end
        table.insert(categories, category)
        i = i + 1
     end
     end