[SPIP Zone] plugin couleur de rubrique

Bonsoir,

c'est en "desespoir de cause" que je m'en remet a vos lumieres,
j'ai l'impression d'etre une"bille":

j'ai installe
le plugin couleur de rubrique,
coche la case de ce plugin,
ensuite j'ai mis :
[(#ID_RUBRIQUE|couleur_rubrique)]
(comme stipule ici: http://plugins.spip.net/couleur-de-rubrique)
dans ma page "rubrique.html"
entre temps j'ai regle la couleur en partie prive du spip, [enregister].

...mais..rien en "public", la rubrique ne me renvoie que e4c390 .

Pour infos je suis sous spip 2.0.3 [13734] en local ,
avec les plugins:
cfg
Corbeille
Menus deroulants
Mini Calendrier
SPIP Bonux 2.0
SpipClear
Nombres de visiteurs connectés

meme en les desactivant tous, rien n'y fait

voili voilou...

merci,
Jmarc

jmarco a écrit :

...mais..rien en "public", la rubrique ne me renvoie que e4c390 .

c'est bien ce qu'est censé faire le plugin :
retourner la valeur hexadécimale de la couleur choisie en interface privée pour la rubrique donnée.

il te faut donc utiliser cette information (e4c390) dans une feuille de style par exemple, ou dans un style particulier de ton squelette :
   <h1 style="color:#[(#ID_RUBRIQUE|couleur_rubrique)];">...
pour avoir des titres h1 de couleur différente suivant la rubrique affichée.

voili voilou...

vi

denisb a écrit :

jmarco a écrit :

...mais..rien en "public", la rubrique ne me renvoie que e4c390 .

c'est bien ce qu'est censé faire le plugin :
retourner la valeur hexadécimale de la couleur choisie en interface privée pour la rubrique donnée.

il te faut donc utiliser cette information (e4c390) dans une feuille de style par exemple, ou dans un style particulier de ton squelette :
  <h1 style="color:#[(#ID_RUBRIQUE|couleur_rubrique)];">...
pour avoir des titres h1 de couleur différente suivant la rubrique affichée.

voili voilou...

vi

... Merci de ta reponse,
si je fait ce que tu m'a dit dans le squelette rubrique.html , ok cela
fonctionne,
mais... si dans ma page css je mets:

#page {
background-color: transparent [#(#ID_RUBRIQUE|couleur_rubrique)];
}

rien ne se passe...

j'ai une erreur dans la console de firebug:

"Une fin de valeur pour la propriété était attendue, mais « [ » a été trouvé. Erreur d'analyse de la valeur pour la propriété « background-color ». Déclaration abandonnée."

c'est vraiment pas clair,
pourtant je suis alle voir du cote des squelettes et de la page css du site spip-plugins c'est encore plus complique, et en essayant la meme chose , rien...

Jmarc

Le 16.02.2009 00:49, jmarco a écrit :

rien ne se passe...

Une fichier CSS n'est pas interprété par SPIP.

Ta feuille de style doit ÊTRE un squelette : ma_feuille.css.html par exemple. Et tu dois l'appeler avec #URL_PAGE{ma_feuille.css}, ce qui appellera l'URL : spip.php?page=ma_feuille.css

Et là ça sera interprété par SPIP. Bien sûr il faut passer en paramètre l'identifiant de ta rubrique à l'URL, la page va pas le deviner toute seule...

[(#URL_PAGE{feuille.css}|parametre_url{id_rubrique, #ID_RUBRIQUE})]

spip.php?page=feuille.css&id_rubrique=13

--
RastaPopoulos

RastaPopoulos a écrit :

Le 16.02.2009 00:49, jmarco a écrit :

rien ne se passe...

Une fichier CSS n'est pas interprété par SPIP.

Ta feuille de style doit ÊTRE un squelette : ma_feuille.css.html par exemple. Et tu dois l'appeler avec #URL_PAGE{ma_feuille.css}, ce qui appellera l'URL : spip.php?page=ma_feuille.css

Et là ça sera interprété par SPIP. Bien sûr il faut passer en paramètre l'identifiant de ta rubrique à l'URL, la page va pas le deviner toute seule...

[(#URL_PAGE{feuille.css}|parametre_url{id_rubrique, #ID_RUBRIQUE})]

spip.php?page=feuille.css&id_rubrique=13

--
RastaPopoulos

Bonsoir RastaPopoulos,
merci de ta reponse,

................ "Je suis en pleine béchamel"...

je ne savais pas ou je mettais les pieds en voulant "faire du style" dans mes rubriques....
alors, alors, alors voila:
j'ai cree une page "couleur-rubrique.css.html"
avec dans celle-ci:

#page{
background-color:#[(#GET{couleur})];
}

c'est tout, (j'ai une autre feuille de style principale)

ensuite j'ai appele cette page dans la partie head de la page "rubrique.html" en faisant:
<link rel="stylesheet" href="[(#URL_PAGE{couleur-rubrique, id_rubrique=#ID_RUBRIQUE})]" type="text/css" />
.....je vide tous les caches possibles a la rame...
resultat: Firebug fait la tete
erreur:
La feuille de style http://localhost/00sites/00le-clapotis/spip.php?page=couleur-rubrique&id_rubrique=2 n'a pas été chargée car son type MIME, « text/html », n'est pas « text/css »

---> couleur de base mais pas la nouvelle.

Je vais aller me faire une petite serie sur Arte ou autre,

Bonne fin de soiree,
Jmarc

Tu es prêt de la solution :

Ajoute en première ligne de ton fichier "couleur-rubrique.css.html" la ligne qui va signaler que la page n'est pas de l'HTML mais du CSS (le "header" en PHP) :

#HTTP_HEADER{Content-type: text/css}

Tout devrait marcher...

Olivier JEULIN

jmarco a écrit :

RastaPopoulos a écrit :

Le 16.02.2009 00:49, jmarco a écrit :

rien ne se passe...

Une fichier CSS n'est pas interprété par SPIP.

Ta feuille de style doit ÊTRE un squelette : ma_feuille.css.html par exemple. Et tu dois l'appeler avec #URL_PAGE{ma_feuille.css}, ce qui appellera l'URL : spip.php?page=ma_feuille.css

Et là ça sera interprété par SPIP. Bien sûr il faut passer en paramètre l'identifiant de ta rubrique à l'URL, la page va pas le deviner toute seule...

[(#URL_PAGE{feuille.css}|parametre_url{id_rubrique, #ID_RUBRIQUE})]

spip.php?page=feuille.css&id_rubrique=13

--
RastaPopoulos

Bonsoir RastaPopoulos,
merci de ta reponse,

................ "Je suis en pleine béchamel"...

je ne savais pas ou je mettais les pieds en voulant "faire du style" dans mes rubriques....
alors, alors, alors voila:
j'ai cree une page "couleur-rubrique.css.html"
avec dans celle-ci:

#page{
background-color:#[(#GET{couleur})];
}

c'est tout, (j'ai une autre feuille de style principale)

ensuite j'ai appele cette page dans la partie head de la page "rubrique.html" en faisant:
<link rel="stylesheet" href="[(#URL_PAGE{couleur-rubrique, id_rubrique=#ID_RUBRIQUE})]" type="text/css" />
.....je vide tous les caches possibles a la rame...
resultat: Firebug fait la tete
erreur:
La feuille de style http://localhost/00sites/00le-clapotis/spip.php?page=couleur-rubrique&id_rubrique=2 n'a pas été chargée car son type MIME, « text/html », n'est pas « text/css »

---> couleur de base mais pas la nouvelle.

Je vais aller me faire une petite serie sur Arte ou autre,

Bonne fin de soiree,
Jmarc

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 16.02.2009 23:44, jmarco a écrit :

je ne savais pas ou je mettais les pieds en voulant "faire du style"
dans mes rubriques....
alors, alors, alors voila:
j'ai cree une page "couleur-rubrique.css.html"
avec dans celle-ci:

#page{
background-color:#[(#GET{couleur})];
}

c'est tout, (j'ai une autre feuille de style principale)

ensuite j'ai appele cette page dans la partie head de la page
"rubrique.html" en faisant:
<link rel="stylesheet" href="[(#URL_PAGE{couleur-rubrique,
id_rubrique=#ID_RUBRIQUE})]" type="text/css" />
.....je vide tous les caches possibles a la rame...
resultat: Firebug fait la tete
erreur:
La feuille de style
http://localhost/00sites/00le-clapotis/spip.php?page=couleur-rubrique&id_rubrique=2
n'a pas été chargée car son type MIME, « text/html », n'est pas «
text/css »

---> couleur de base mais pas la nouvelle.

Alors la première chose c'est effectivement de dire à SPIP qu'il faut renvoyer du CSS et pas du HTML.
Donc tout au début : #HTTP_HEADER{Content-type: text/css}

Ensuite j'ai une question, tu appelles ton squelette CSS en lui donnant en paramètre id_rubrique=#ID_RUBRIQUE.

Et dans ton squelette tu fais #GET{couleur}.

Expliques-moi ce qu'il pourrait bien y avoir dans cette variable "couleur" et surtout d'où penses-tu que cette valeur vienne puisque tu ne l'as défini nulle part ?

#GET ça sert à récupérer une variable défini précédemment avec #SET.
Mais même si tu avais fait #ENV{couleur}, la variable couleur n'est pas non plus dans l'environnement du squelette puisque tu ne l'as jamais passé en paramètre non plus.

Là seule chose que connait ton squelette c'est #ENV{id_rubrique} puisque ÇA tu lui as envoyé en paramètre.

--
RastaPopoulos

Olivier JEULIN a écrit :

Tu es prêt de la solution :

Ajoute en première ligne de ton fichier "couleur-rubrique.css.html" la ligne qui va signaler que la page n'est pas de l'HTML mais du CSS (le "header" en PHP) :

#HTTP_HEADER{Content-type: text/css}

Tout devrait marcher...

Olivier JEULIN

Bonjour Olivier,
merci de ta reponse,
  Je n'avais pas percute sur ce detail de choix, du coup je suis alle chez:
http://www.guiderdoni.net/Comment-faire-une-feuille-de-style.html
  et j'ai du coup modifie ma feuille de style principale (et abandonne celle de test):
j'ai rajoute .html a la fin de son nom,
J'y ai mis:

#HTTP_HEADER{Content-type: text/css}
#CHARSET
#HTTP_HEADER{Vary: Accept-Encoding}

et a la ligne correspondante:

/*---------------page principale--------------*/
#page {
background-color: transparent #(#ID_RUBRIQUE|couleur_rubrique);
margin : 0px auto 5px;
padding : 0pt;
position : relative;
width : 815px;
}

et dans "inc-head.html"
j'ai appele cette css par:
[<link rel="stylesheet" href="(#URL_PAGE{le-clapotis.css}|direction_css)" type="text/css" media="projection, screen, tv" />]

Resultat: couleur generale qui passe a rien: blanche
  + une erreur donnee par firebug:

Une fin de valeur pour la propriété était attendue, mais « # » a été trouvé. Erreur d'analyse de la valeur pour la propriété « background-color ». Déclaration abandonnée.

...C'est chaud , le spip...
Je patauge dans la semoule... (mais la, pour le coup j'en ai encore appris un peu plus.)

merci,
Jmarc

Pour info:

Je teste en local,
Spip 2.0.3 [13734]
Firefox 3.0

Debian Etch
PIII 1Ghz,
1Ghz de sdram pc133
Quanta+
(FF fait ramer grave au vidages de cache...)

Le 17.02.2009 08:49, jmarco a écrit :

/*---------------page principale--------------*/
#page {
background-color: transparent #(#ID_RUBRIQUE|couleur_rubrique);
margin : 0px auto 5px;
padding : 0pt;
position : relative;
width : 815px;
}

et dans "inc-head.html"
j'ai appele cette css par:
[<link rel="stylesheet"
href="(#URL_PAGE{le-clapotis.css}|direction_css)" type="text/css"
media="projection, screen, tv" />]

Mais ça veut encore moins dire quelque chose que l'autre !
Je crois qu'il faut que tu arrêtes de copier-coller sans comprendre. :slight_smile:

Plusieurs problèmes :

background-color: transparent #(#ID_RUBRIQUE|couleur_rubrique);

Tu veux définir la couleur de fond.
Et tu mets "transparent" (qui est une valeur de couleur possible) ET un code SPIP.
Comment peut-il y avoir deux valeurs derrière les ":" du même paramètre ?

(#URL_PAGE{le-clapotis.css}|direction_css)

Dans ta CSS tu cherches à utiliser #ID_RUBRIQUE.
Comme ton squelette CSS peut-il savoir ce que c'est #ID_RUBRIQUE si tu ne lui a jamais passé en paramètre lorsque tu l'as appelé ?

Il faut bien sûr rajouter : |parametre_url{id_rubrique, #ID_RUBRIQUE}
Puis dans le squelette utiliser #ENV{id_rubrique}.

--
RastaPopoulos

Et mettre une ou deux règles CSS dans le head, c'est pas un péché, hein :wink:
Ça éviterait de se prendre la tête avec une feuille de style dynamique, juste pour attribuer une couleur à une rubrique.

--
Romy

Merci a vous tous,
çà roule ,

romy@rezo.net a écrit :

Et mettre une ou deux règles CSS dans le head, c'est pas un péché, hein :wink:
Ça éviterait de se prendre la tête avec une feuille de style dynamique, juste pour attribuer une couleur à une rubrique.
Romy

... ben.. j'essaye... on sait jamais...

RastaPopoulos a écrit :
> Je crois qu'il faut que tu arrêtes de copier-coller sans comprendre. :slight_smile:

oui, je sais bien, mais j'apprends de cette maniere, en bricolant...

Sinon,
j'ai tout remis a zero:

-> garder ma feuille de style principale normale sans spip dedans,
-> vire ce "background-color:transparent;" vu que le body a deja un fond declare

-> refais ma feuille de style .css.html pour la couleur de rubrique
#HTTP_HEADER{Content-type: text/css}
#page{
background-color: #[(#ID_RUBRIQUE|couleur_rubrique)];
}

-> et dans "rubrique.html":
dans le head:
[<link rel="stylesheet" href="(#URL_PAGE{couleur-rubrique.css}|parametre_url{id_rubrique, #ID_RUBRIQUE})" type="text/css" media="projection, screen, tv" />]

->je n'ai jamais utilise #ENV{id_rubrique}...? (et je ne sais pas ou le mettre)

Du coup, super, cela fonctionne tres bien, ouf...
(faut jouer dur avec les caches...)

Maintenant il faut que je fasse en sorte que les sous-rubriques prennent aussi la couleur de la rubrique-mere
parce que la boucle decrite dans
http://plugins.spip.net/couleur-de-rubrique ne fonctionne pas telle-quelle dans ma situation....,

peut-etre que je peux tout simplement redefinir dans l'espace prive la meme couleur pour les sous-rubriques, c'est fastidieux, mais je vais peut-etre y arriver...

Jmarc

2009/2/17 jmarco <jmbrive@free.fr>

Du coup, super, cela fonctionne tres bien, ouf…
(faut jouer dur avec les caches…)

Installe le couteau suisse, tu pourras désactivezr le cache pendant la durée de ton dev, les pages seront un peu plus longues à charger mais au final tu éviteras les cheveux blancs je pense :wink:

Bon courage !


Etienne B.
http://www.loiseau2nuit.net
Emo Philips - « I was the kid next door’s imaginary friend. »

Bonjour

Installe le couteau suisse, tu pourras désactivezr le cache pendant la durée
de ton dev, les pages seront un peu plus longues à charger mais au final tu
éviteras les cheveux blancs je pense :wink:

Il existe aussi un plugin "desactiver cache".

cam.lafit@azerttyu.net a écrit :

Bonjour

Installe le couteau suisse, tu pourras désactivezr le cache pendant la durée
de ton dev, les pages seront un peu plus longues à charger mais au final tu
éviteras les cheveux blancs je pense :wink:

Il existe aussi un plugin "desactiver cache".

Oui, merci,
j'ai installe hier soir couteau-suisse et il
y a une bonne difference.
Jmarc