Модуль:Сущность: различия между версиями

Нет описания правки
Нет описания правки
Строка 364: Строка 364:


         local parsed = getTemplateMeta(frame, tplPath)
         local parsed = getTemplateMeta(frame, tplPath)
        if parsed and parsed.cardTag and parsed.cardTag ~= "" then
            parsed.cardTag = trim(frame:preprocess(parsed.cardTag))
        end
         for _, sw in ipairs(switches) do
         for _, sw in ipairs(switches) do
             local keys = parsed[sw] or {}
             local keys = parsed[sw] or {}
Строка 400: Строка 403:
                         end
                         end
                     end
                     end
                     local cardTagValue = parsed.cardTag
 
                    if sw == "card" and cardTagValue and cardTagValue ~= "" and extra and extra ~= "" then
                     local cardTagValue = parsed and parsed.cardTag or nil
                        local params = {}
                        for chunk in string.gmatch(extra, "[^|]+") do
                            local pk, pv = chunk:match("^(.-)=(.*)$")
                            if pk and pv then
                                params[trim(pk)] = pv
                            end
                        end
                        cardTagValue = cardTagValue:gsub("{{{([^}]+)}}}", function(name)
                            name = trim(name or "")
                            return params[name] or ""
                        end)
                    end


                     local entry
                     local entry