« Module:Multiparamètres » : différence entre les versions

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche
0x010D (discussion | contributions)
m A protégé « Module:Multiparamètres » : Modèle très utilisé ([Modifier=Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer=Autoriser uniquement les utilisateurs autopatrolled] (infini))
0x010D (discussion | contributions)
implémentation {{MultiParamètres-Lien}}, etc.
Ligne 1 : Ligne 1 :
local p = {}
local p = {}


function p.main(frame)
function p.brut(frame)
    return main(frame, '', '')
end
 
function p.lien(frame)
    return main(frame, '[[', ']]')
end
 
function p.categorie(frame)
    return main(frame, '[[:Catégorie:', ']]')
end
 
function p.utilisateur(frame)
    return main(frame, '[[Utilisateur:', ']]')
end
 
local function main(frame, prefixe, suffixe)


     local args = frame:getParent().args
     local args = frame:getParent().args
Ligne 12 : Ligne 28 :
         local item = trimFunc(v)
         local item = trimFunc(v)
         if item ~= '' then
         if item ~= '' then
            item = prefixe .. item .. suffixe
             if gras then
             if gras then
                 item = "'''" .. item .. "'''"
                 item = "'''" .. item .. "'''"

Version du 7 janvier 2017 à 01:30

local p = {}

function p.brut(frame)

   return main(frame, , )

end

function p.lien(frame)

   return main(frame, '', '')

end

function p.categorie(frame)

   return main(frame, 'Catégorie:', '')

end

function p.utilisateur(frame)

   return main(frame, 'Utilisateur:', '')

end

local function main(frame, prefixe, suffixe)

   local args = frame:getParent().args
   local trimFunc = mw.text.trim -- cache accès global
   local gras = (args.gras and args.gras ~= )
   local items = {}
   for i,v in ipairs(args) do
       local item = trimFunc(v)
       if item ~=  then
           item = prefixe .. item .. suffixe
           if gras then
               item = "" .. item .. ""
           end
           items[#items + 1] = item
       end
   end
   if #items == 0 then
       return 
   elseif #items == 1 then
       return items[1]
   else
       -- le paramètre "et" peut être défini à vide, exemple : Modèle:Module biblio/responsabilité principale
       local dernierSeparateur = (args.et and args.et or 'et')
       return table.concat(items, ', ', 1, #items - 1) .. ' ' .. dernierSeparateur .. ' ' .. items[#items]
   end

end

return p