Bonsoir,
alors, une methode pour permettre aux administrateurs/redacteurs de creer, attribuer une couleur par rubrique ou article par adjonction d un mot cle
(en spip 2 un plugin remplacera avantageusement cette bidouille)
je commence par creer un modele, pour cela creer un fichier nomme :
couleur_rubrique.html
dans le dossier "modeles" si le dossier "modeles" n existe pas, le creer dans le dossier "squelettes"
ce fichier contient :
///////////////
<BOUCLE_Extrait_Mot_Cle00(RUBRIQUES) {id_rubrique=#ENV{id_rubrique}}>
<BOUCLE_Couleur_MC00(MOTS){id_rubrique} {type=_Couleur_Rubrique}>
#SET{couleur,#DESCRIPTIF}
</BOUCLE_Couleur_MC00>
</BOUCLE_Extrait_Mot_Cle00>
<BOUCLE_Article_Mot_Cle(ARTICLES) {id_article=#ENV{id_article}}>
<BOUCLE_Extrait_Mot_Cle000(RUBRIQUES) {id_rubrique=#ID_RUBRIQUE}>
<BOUCLE_Couleur_MC000(MOTS){id_rubrique} {type=_Couleur_Rubrique}>
#SET{couleur,#DESCRIPTIF}
</BOUCLE_Couleur_MC000>
</BOUCLE_Extrait_Mot_Cle000>
</BOUCLE_Article_Mot_Cle>
<BOUCLE_MOT_CLE_ARTICLE_RENSEIGNE(ARTICLES){id_article}{type_mot=_Couleur_Rubrique}>
<BOUCLE_Couleur_MC_ARTICLE_RENSEIGNE(MOTS){id_article} {type=_Couleur_Rubrique}>
#SET{couleur,#DESCRIPTIF}
</BOUCLE_Couleur_MC_ARTICLE_RENSEIGNE>
</BOUCLE_MOT_CLE_ARTICLE_RENSEIGNE> #GET{couleur}
////
je ne serai pas surpris que le code ci dessus ne soit pas tres tres optimisable...
sur l administration du site (ecrire)
creer un groupe de mots cle nomme (exactement avec le _ devant) :
_Couleur_Rubrique
dans ce groupe creer les mots cle de couleur en mettant la valeur hexadecimal de la couleur dans le champ "descriptif rapide" et sans le diese # devant (les filtres images n aiment pas les #)
////
A partir de la, au niveau des squelettes, il est normalement possible de recuperer les couleurs en utilsant la syntaxe suivante :
#MODELE{couleur_rubrique}
on pourrait donc faire des truc genre :
<p color="##MODELE{couleur_rubrique}"> mon texte ou ma #BALISE</p>
(le double diese est normal, c est pour ajouter un # devant la valeur hexa qui n en a pas)
Mais comme on est bien eleve, on ne melange pas les directives de mise en forme et le contenu du site, on utilise une css.
Pour cela, faut que l on puisse identifier automatiquement chaque rubrique afin d utiliser une class css specifique, pour cela,
dans les squelettes article et rubriques (ou autres) mettre le tag suivant
<body dir="ltr" id="body#MODELE{couleur_rubrique}">
ce tag une fois interprete va generer un html du genre :
<body dir="ltr" id="body0A418D">
apres c est pas super complexe, faudra juste creer la css dynamique...
Je te propose d essayer d arriver jusque la (cad que dans le code source de ta page tu obtiennes bien le tag <body dir="ltr" id="bodyTaCouleur">
et apres on continue
ca marche ?
cordialement
triton