... qui va chercher l'image 'annonce-24.gif' dans le répertoire '/prive/images' du site. Ceci fonctionne bien.
Par contre, je ne parviens pas à aller chercher une image dans le répertoire 'plugins/auto/plugin_truc/img_pack'. J'avais cru comprendre que la balise #CHEMIN pouvait chercher partout... mais ni l'expression ci-dessus, ni ceci :
Je ne vois pas ou je fais une erreur de raisonnement... pour info (si ça peut servir) la feuille de style en question se trouve dans le répertoire 'plugins/auto/plugin_truc/prive'
pas besoin de #CHEMIN dans ce cas, puisque tu spécifie un répertoire !
... qui va chercher l'image 'annonce-24.gif' dans le répertoire
'/prive/images' du site. Ceci fonctionne bien.
Par contre, je ne parviens pas à aller chercher une image dans le répertoire
'plugins/auto/plugin_truc/img_pack'. J'avais cru comprendre que la balise #CHEMIN pouvait chercher partout...
#CHEMIN regarde dans le dossier squelette, puis dans tous les
répertoires des plugins, puis dans ecrire, puis à la racine de SPIP,
puis dans squelettes-dist/
pour voir si ton fichier y est.
mais ni l'expression ci-dessus, ni ceci
:
#bla h2 {
padding-left: 30px;
background: url(#CHEMIN{img_pack/annonce-24.gif}) no-repeat center left;
Je ne vois aucune raison pour que cela ne marche pas, si le fichier est bien là.
Que retourne l'expression ?
Dans ce cas, pas besoin de #CHEMIN puisque tu indique le chemin explicitement.
Mais ça empêchera la personnalisation par l'utilisateur dans son
dossier squelette
pas besoin de #CHEMIN dans ce cas, puisque tu spécifie un répertoire !
En effet,
background: url([(#EVAL{_DIR_IMG_PACK}|concat{annonce-24.gif})])
fonctionne bien.
background: url(#CHEMIN{img_pack/annonce-24.gif})
Je ne vois aucune raison pour que cela ne marche pas, si le fichier est bien là.
Que retourne l'expression ?
Justement, cela ne retourne rien du tout. La propriété est complètement absente à la sortie, d'après ce que je vois sur Firebug. Seule le padding est gardé.
En fait, en résumé, dès que je place la chaine suivante 'img_pack' dans la balise #CHEMIN ou #EVAL la propriété 'background' est completement squizzée...
Peut être à tester
url([(#CHEMIN{img_pack/annonce-24.gif})])
Eh bien, non plus. Même réponse que pour Cédric... dès que la chaine 'img_pack' est placée dans la balise #CHEMIN la propriété est complétement ignorée...
L'url du background n'est pas mise entre guillemets, ce qui n'a en général pas beaucoup d'importance, sauf dans le cas où un espace se cache dans le path. On note que c'est le cas ici, puisque mon plugin n'est qu'un lien (Lien vers truc/) pointant sur la version de développement.
Le 19 novembre 2009 10:15, Jonathan <jo.chibois@gmail.com> a écrit :
Parce qu'il n'est pas possible de trouver le fichier
img_pack/annonce-24.gif
dans un répertoire du path de SPIP
... donc deux solutions : soit le fichier en question n'y est pas (et je
peux garantir que si), soit la recherche dans le path pose problème.
Voici ce que j'ai trouvé dans 'cache-css' (le résultat de la compilation de
la feuille de style) :
fallait commencer par là
(firebug c'est bien, mais quand une propriété est absente, il faut
verifier le code source car il se peut qu'elle soit simplement mal
écrite)
L'url du background n'est pas mise entre guillemets,
Note bien que c'est exactement ce que tu as demandé à SPIP.
ce qui n'a en général
pas beaucoup d'importance, sauf dans le cas où un espace se cache dans le
path. On note que c'est le cas ici, puisque mon plugin n'est qu'un lien
(Lien vers truc/) pointant sur la version de développement.
Oui enfin je veux bien. Je suis pas encore un utilisateur chevronné, j'ai encore beaucoup à apprendre. Ok je comprends, c'est une bourde de balancer les guillemets sans écrire la balise complète (avec ses jolis () et []).
Ceci dit, quand je tente (comme le propose Bernard) :
fallait commencer par là
(firebug c'est bien, mais quand une propriété est absente, il faut
verifier le code source car il se peut qu'elle soit simplement mal
écrite)
C'est sûr que si j'avais découvert ça avant, j'aurai gagné un temps fou. J'avais pas percuté encore que les css dynamiques, en bon squelettes quelles sont finalement, elles ont aussi leur cache. Firebug m'a tuer...
À quand un tutoriel de debug ? ...
Note bien que c'est exactement ce que tu as demandé à SPIP.
Parce que justement je n'ai pas écrit la balise #CHEMIN de façon complete avec () ? Ou alors il y a encore un truc qui m'a échappé ?
tu veux dire
background: url("#CHEMIN{img_pack/annonce-24.gif}")
? (inversion guillemet et accolade fermante)
Oups. Oui, sur ce coup là j'ai été un peu rapide. Désolé. Ceci dit cette bête coquille n'est pas l'origine du problème (voir la réponse à Bertrand).
Tu le lis dans le code source ou c'est Firebug qui te le dis ? Parce que Firebug dans sa notation n'affiche pas les " ".
Si je dis pas de bêtises la compilation bosse sur [(#truqsdlkqjd)] comme tes parenthèses sont en dehors, ça semble juste, pas possible...
Tu as vidé tes tmp/ et recalculé ? Parce que vraiment ça ne peut pas le faire
Et si tu induis une erreur genre :
background: url(bla"[(#CHEMIN{img_pack/annonce-24.gif})]bla")
Il les vire ou il les garde les guillemets ?
Le 19 nov. 09 à 10:49, Jonathan a écrit :
Oui enfin je veux bien. Je suis pas encore un utilisateur chevronné, j'ai encore beaucoup à apprendre. Ok je comprends, c'est une bourde de balancer les guillemets sans écrire la balise complète (avec ses jolis () et ).
Ceci dit, quand je tente (comme le propose Bernard) :
Par contre, il y a fort à parier que ton navigateur garde en cache ta
css, ou qu'elle n'a pas été recalculée par SPIP.
Après chaque enregistrement de ma css dynamique, voici les manipulations que j'effectue :
1- je supprime /local/css-cache
2- je supprime le contenu de /tmp
3- je vide le cache de mon navigateur (j'ai même testé un autre navigateur dans le doute)
4- je vide le cache de spip
5- je provoque le recalcule de la page à l'aide de '&var_mod=recalcul'
De plus je suis certain que le recalcul se fait, car j'ai pris le soin de prendre une propriété quelconque comme témoin, que j'incrémente manuellement à chaque modif de ma css.
Que faire de plus ?
(D'ailleurs je trouve ça assez fastidieux comme opérations à faire à chaque fois, n'y a t'il pas une opération autre qui puisse me garantir le reset de ma css sur le cache ?)
Le 19 novembre 2009 10:58, Jonathan <jo.chibois@gmail.com> a écrit :
fallait commencer par là
(firebug c'est bien, mais quand une propriété est absente, il faut
verifier le code source car il se peut qu'elle soit simplement mal
écrite)
C'est sûr que si j'avais découvert ça avant, j'aurai gagné un temps fou.
J'avais pas percuté encore que les css dynamiques, en bon squelettes quelles
sont finalement, elles ont aussi leur cache. Firebug m'a tuer...
À quand un tutoriel de debug ? ...
Note bien que c'est exactement ce que tu as demandé à SPIP.
Parce que justement je n'ai pas écrit la balise #CHEMIN de façon complete
avec () ? Ou alors il y a encore un truc qui m'a échappé ?
Parce qu'il n'y a jamais eu de guillemets dans ton expression
background: url(#CHEMIN{img_pack/annonce-24.gif}) no-repeat center left;
et que c'est à toi de les mettre, pas à SPIP de deviner que là tu es
en train d'utiliser la balise #CHEMIN dans une directive url() d'une
css et que ça serait bien...