« Module:Infobox/Core » : différence entre les versions
De Nefald
Autres actions
m Parserfunctions |
Supprimé l'ancienne section d'ajout d'icône avec :wikitext() Ajouté le traitement de l'icône après la construction du HTML Utilisé preprocess() pour traiter le parser function FontAwesome Injecté l'icône dans le HTML final avec gsub() Balises : Modification par mobile Modification par le web mobile |
||
| Ligne 110 : | Ligne 110 : | ||
root:node(body) | root:node(body) | ||
-- | -- Traiter l'icône APRÈS avoir construit tout le HTML | ||
local finalResult = tostring(root) | |||
local | |||
local iconeType = config.icone.type or 'fas' | if config.icone then | ||
local iconeType = config.icone.type or 'fas' | |||
local iconeNom = config.icone.nom | |||
-- Utiliser mw.getCurrentFrame() si frame n'est pas disponible | |||
local currentFrame = frame or mw.getCurrentFrame() | |||
local iconeContent = '{{#' .. iconeType .. ':' .. iconeNom .. '}}' | |||
if currentFrame then | |||
iconeContent = currentFrame:preprocess(iconeContent) | |||
end | |||
-- Créer la div d'icône séparément et l'ajouter au résultat | |||
local iconeHtml = string.format( | |||
'<div class="infobox-icon-bottom">%s</div>', | |||
iconeContent | |||
) | |||
-- Injecter l'icône juste avant la fermeture de la div principale | |||
finalResult = finalResult:gsub('</div>$', iconeHtml .. '</div>') | |||
end | end | ||
return finalResult | |||
return | |||
end | end | ||
return p | return p | ||