Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Infobox/Configs/Localite » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Page créée avec « local config = { titre = function(args) return args.nom or '{{PAGENAME}}' end, image = function(args) if args.image then return '300px' end return nil end, sections = { { titre = 'Informations Générales', champs = { { cle = 'type', label = 'Type' }, { cle = 'fondation', label = 'Fondation'... »
 
Aucun résumé des modifications
 
(14 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
local config = {
local config = {
     titre = function(args)  
     titre = function(args)
         return args.nom or '{{PAGENAME}}'  
         return args.nom or '{{PAGENAME}}'
     end,
     end,
      
 
     image = function(args)  
     -- Icône de l’infobox
    icone = {
        type = 'fas',
        nom = 'map-location-dot'
    },
 
    -- Gestion de l’image
     image = function(args)
         if args.image then
         if args.image then
             return '[[Fichier:' .. args.image .. '|300px]]'
             return {
                nom = args.image,
                taille = args.tailleimage or "250px",
                legende = args.legende
            }
         end
         end
         return nil
         return nil
     end,
     end,
      
 
     -- Configuration du champ "type"
    typeField = {
        required = false,
        allowedValues = {
            ['ville'] = { display = 'Ville', category = 'Ville' },
            ['village'] = { display = 'Village', category = 'Village' },
            ['cité'] = { display = 'Cité', category = 'Cité' },
            ['capitale'] = { display = 'Capitale', category = 'Capitale' },
            ['port'] = { display = 'Port', category = 'Port' },
            ['forteresse'] = { display = 'Forteresse', category = 'Forteresse' },
            ['château'] = { display = 'Château', category = 'Château' },
            ['ruine'] = { display = 'Ruine', category = 'Ruine' },
            ['avant-poste'] = { display = 'Avant-poste', category = 'Avant-poste' },
            ['campement'] = { display = 'Campement', category = 'Campement' },
            ['métropole'] = { display = 'Métropole', category = 'Métropole' },
            ['sanctuaire'] = { display = 'Sanctuaire', category = 'Sanctuaire' },
            ['cité-état'] = { display = 'Cité-État', category = 'Cité-État' }
        },
        errorMessage = 'Type de localité non reconnu. Types autorisés : ville, village, cité, capitale, port, forteresse, château, ruine, avant-poste, campement, métropole, sanctuaire'
    },
 
    -- Sections de l’infobox
     sections = {
     sections = {
         {
         {
Ligne 60 : Ligne 93 :
             }
             }
         }
         }
     }
     },
 
    -- Catégorisation automatique selon le type
    categories = function(args, config, frame)
        local cats = {}
        local title = mw.title.getCurrentTitle()
 
        -- On ajoute les catégories uniquement dans le namespace principal (0)
        if title.namespace ~= 0 then
            return cats
        end
 
        -- Catégorie selon le type
        if args.type and config.typeField and config.typeField.allowedValues then
            local cleanType = mw.text.trim(mw.ustring.lower(args.type))
            local typeDef = config.typeField.allowedValues[cleanType]
            if typeDef and typeDef.category then
                table.insert(cats, typeDef.category)
            end
        end
 
        return cats
    end
}
}


return config
return config
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.