oui il est clair qu'il faudrait une extension, je ne commentais que le lien donné et apportait une solution pas encore utilisée dans les modèles existants.
dans mon cas très particulier, j'ai ce problème : une icone fa-xxx assignée à un forum + une couleur
pour "salir" au minimum les modèles j'ai opté (pour l'instant) pour une solution javascript en ajoutant juste un attribut "data-forum="id_forum" et une classe avec les modèles ; ensuite js se débrouille
Code : Tout sélectionner
//dans fichier js
const fcolors={
'fa-info': { color: '#ffaa66', forum: [7,8,9,10,11,12,13] },
'fa-cogs': { color: '#36d6ea', forum: [22,23,24,25,16,2005,2006,2007,2016] },
'fa-linux': { color: '#ed66ff', forum: [27,28,29,31,34,2015] },
'fa-eye': { color: '#36d6ea', forum: [15,16,17,18,19,20,21,2003,2019,2023] },
'fa-manja' : { color: '#66ffaa', forum: [1,2,2001,2002,2004] },
'fa-globe' : { color: '#ff66aa', forum: [2012,2013] },
getForum(id_forum) {
for (var prop in this) {
if ( typeof this[prop] !== 'object') continue
if (this[prop].forum.indexOf(id_forum) !== -1) {
return prop
}
}
return undefined
}
};
/*** Assigner couleur a un forum et une icone */
$.each($("a.cat"),function(){
var idf = parseInt($(this).attr('data-forum')) /* recup id_forum passé en param a la balise*/
var o = fcolors.getForum(idf)
if (o != undefined) {
//console.log('trouvé:', idf, fcolors[o].color, 'dans', fcolors[o] )
$(this).css('border-left-color',fcolors[o].color)
$(this).prepend('<i class="icon '+o+'" style="background-color:'+fcolors[o].color+';"></i>');
}
});
solution temporaire, il faut juste que je trouve comment ajouter 2 champs (color+icon) dans le formulaire propriétés d'un forum. Ce n'est pas dans dernière doc phpbb 3.2. Je me pencherais la dessus plus tard.