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/doc » : différence entre les versions

De Nefald
Aucun résumé des modifications
Hiob (discussion | contributions)
m Cat
Balises : Modification par mobile Modification par le web mobile
 
(14 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
== Description ==
== Description ==
Le système d'infobox modulaire permet de créer et gérer facilement différents types d'infobox sur le wiki. Chaque type d'infobox est configuré dans un module séparé pour faciliter la maintenance.
Le système d'infobox modulaire permet de créer et gérer facilement différents types d'infobox sur le wiki. Chaque type d'infobox est configuré dans un module séparé pour faciliter la maintenance.


== Infobox disponibles ==
== Infobox disponibles ==
* {{Modèle|Infobox Monde}} - Pour les mondes Minecraft
 
;Voir tous les [[:Catégorie:Modèle d'infobox|modèles d'infobox]].
* {{Modèle|Infobox Localité}} - Pour les localités (villages, villes, cités...)
* {{Modèle|Infobox Localité}} - Pour les localités (villages, villes, cités...)
* {{Modèle|Infobox Grade}} - Pour les grades (Architecte, scribe, Ménestrel ...)
* {{Modèle|Infobox Grade}} - Pour les grades (Architecte, scribe, Ménestrel ...)
* {{Modèle|Infobox Organisation}} - Pour toute forme d'organisation sociales (Guildes, Ordres, Factions, Tribus ...)


== Utilisation ==
== Utilisation ==
Ligne 20 : Ligne 23 :
== Création d'une nouvelle infobox ==
== Création d'une nouvelle infobox ==
=== Étape 1 : Créer la configuration ===
=== Étape 1 : Créer la configuration ===
Créez une sous-page dans {{Module|Infobox/Configs/NomType}} avec cette structure :
Créez une sous-page dans :


<pre>
<pre>
local config = {}
Module:Infobox/Configs/<NomType>
</pre>


-- Configuration de l'infobox
avec cette structure :
config.type = 'NomType'
config.nom = 'Infobox NomType'
config.icone = 'nom-fichier.png'  -- optionnel


-- Définition des champs
<pre>
config.champs = {
local config = {
     -- Champ obligatoire
     titre = function(args)
    {
         return args.nom or '{{PAGENAME}}'  
         nom = 'nom',
    end,
         ordre = 1,
 
        obligatoire = true,
    image = function(args)
        titre = true  -- Sera affiché en titre de l'infobox
         if args.image then
    },
            return {
      
                nom = args.image,
    -- Champ image
                taille = args.tailleimage or "250px",
     {
                legende = args.legende
         nom = 'image',
            }
        ordre = 2,
        end
        type = 'image',
        return nil
        defaut_legende = 'nom' -- Utilise le champ 'nom' si pas de légende
     end,
    },
 
   
     sections = {
    -- Champ texte simple
         {
    {
            titre = 'Informations Générales',
        nom = 'description',
            champs = {
         ordre = 3,
                { cle = 'type', label = 'Type' },
         libelle = 'Description',
                { cle = 'fondation', label = 'Fondation' },
        type = 'texte'
                { cle = 'destruction', label = 'Destruction' },
    },
                { cle = 'fondateur', label = 'Fondateur(s)' },
   
                { cle = 'symbole', label = 'Symbole' },
    -- Champ lien
                { cle = 'statut', label = 'Statut' },
    {
                { cle = 'x', label = 'Coordonnée X' },  -- Ces champs seront remplacés automatiquement
        nom = 'proprietaire',
                { cle = 'y', label = 'Coordonnée Y' },  -- par l'affichage "Coordonnées" groupé
         ordre = 4,
                { cle = 'z', label = 'Coordonnée Z' }
        libelle = 'Propriétaire',
            }
        type = 'lien'
         },
    },
         {
   
            titre = 'Organisation Interne',
    -- Champ coordonnées
            champs = {
    {
                { cle = 'dirigeant', label = 'Dirigeant' },
         nom = 'coordonnees',
                { cle = 'population', label = 'Population' },
        ordre = 5,
                { cle = 'culte', label = 'Culte' },
        libelle = 'Coordonnées',
                { cle = 'organisation_rattachee', label = 'Organisation rattachée' },
        type = 'coordonnees', -- Format automatique x, y, z
                { cle = 'gouvernement', label = 'Type de gouvernement' },
        champs = {'x', 'y', 'z'} -- Champs à combiner
                { cle = 'quartiers', label = 'Quartiers' }
            }
        },
         {
            titre = 'Économie et Société',
            champs = {
                { cle = 'activite', label = 'Activité' },
                { cle = 'ressources', label = 'Ressources' },
                { cle = 'monnaie', label = 'Monnaie' },
                { cle = 'commerce', label = 'Commerce' },
                { cle = 'culture', label = 'Culture' },
                { cle = 'langues', label = 'Langues' }
            }
        },
         {
            titre = 'Géographie',
            champs = {
                { cle = 'monde', label = 'Monde' },
                { cle = 'climat', label = 'Climat' },
                { cle = 'biome', label = 'Biome' },
                { cle = 'relief', label = 'Relief' },
                { cle = 'superficie', label = 'Superficie' },
                { cle = 'cours_eau', label = 'Cours d\'eau' },
                { cle = 'batiments', label = 'Bâtiments notables' }
            }
        }
     }
     }
}
}
Ligne 77 : Ligne 103 :
</pre>
</pre>


=== Étape 2 : Enregistrer la configuration ===
=== Étape 2 : Créer le modèle ===
Modifiez {{Module|Infobox/Configs}} pour ajouter votre nouveau type :
Créez :
<pre>{{Modèle:Infobox_Organisation}}</pre>
 
avec ce contenu :


<pre>
<pre>
local configList = {
<includeonly><templatestyles src="Infobox/styles.css" />{{#invoke:Infobox|main|Localite
    'Monde',
| nom = {{{nom|{{{1|}}}}}}
    'Localite',
| soustitre = {{{soustitre|}}}
    'NomType',  -- Ajoutez cette ligne
| image = {{{image|}}}
}
| tailleimage = {{{tailleimage|}}}
</pre>
| legende = {{{legende|}}}
| type = {{{type|}}}
| fondation = {{{fondation|}}}
| destruction = {{{destruction|}}}
| fondateur = {{{fondateur|}}}
| symbole = {{{symbole|}}}
| statut = {{{statut|}}}
| monde = {{{monde|}}}
| x = {{{x|}}}
| y = {{{y|}}}
| z = {{{z|}}}
| dirigeant = {{{dirigeant|}}}
| population = {{{population|}}}
| culte = {{{culte|}}}
| organisation_rattachee = {{{organisation_rattachee|}}}
| activite = {{{activite|}}}
| ressources = {{{ressources|}}}
}}</includeonly><noinclude>
{{Documentation}}
</noinclude>


=== Étape 3 : Créer le modèle ===
Créez {{Modèle|Infobox NomType}} avec ce contenu :
<pre>
<includeonly>{{#invoke:Infobox|afficher|NomType}}</includeonly>
</pre>
</pre>


Ligne 99 : Ligne 142 :
* {{Module|Infobox/Configs}}
* {{Module|Infobox/Configs}}
* {{Module|Infobox}}
* {{Module|Infobox}}
* {{Modèle|Infobox NomType}}


<pre>
* Modèle:Infobox <NomType>
</pre>
<!--
== Types de champs disponibles ==
== Types de champs disponibles ==
=== Types de base ===
=== Types de base ===
Ligne 117 : Ligne 165 :
* '''defaut_legende''' - Champ à utiliser comme légende par défaut (pour les images)
* '''defaut_legende''' - Champ à utiliser comme légende par défaut (pour les images)
* '''champs''' - Liste des champs à combiner (pour coordonnées)
* '''champs''' - Liste des champs à combiner (pour coordonnées)
-->


== Structure technique ==
== Structure technique ==
Ligne 123 : Ligne 172 :
* {{Module|Infobox/Core}} - Logique de rendu HTML
* {{Module|Infobox/Core}} - Logique de rendu HTML
* {{Module|Infobox/Configs}} - Gestionnaire des configurations
* {{Module|Infobox/Configs}} - Gestionnaire des configurations
* {{Module|Infobox/Configs/TypeX}} - Configuration de chaque type
* {{Module|Infobox/Configs/xxx}} - Configuration de chaque type


== Dépannage ==
== Dépannage ==
Ligne 140 : Ligne 189 :


<includeonly>[[Catégorie:Documentation de module]]</includeonly>
<includeonly>[[Catégorie:Documentation de module]]</includeonly>
[[:Catégorie: Modèle d'infobox]]
<noinclude>[[Catégorie:Documentation de modèle]]</noinclude>
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.