Différence d'appel à "styliser" suivant squelettes "racine" ou squelettes inclus

RastaPopoulos <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
J'ai découvert un comportement hier soir que je n'arrive pas à comprendre.

La fonction "public/styliser" (moi j'avais besoin de pipeline dedans 
mais peu importe, c'est la fonction d'origine dont je parle) n'est pas 
appelé pareil suivant :
- qu'on soit dans un calcul ou qu'on ait déjà un cache
- que ce soit pour un squelette "racine" ou une inclusion

Concrètement :

- spip.php?page=truc?var_mode=calcul avec dedans une structure Z par ex
   - ça passe dans "styliser" pour fond="truc"
   - ça passe dans "styliser" pour fond="aside/truc", "inclure/head", etc

- spip.php?page=truc avec déjà des caches générés précédemment
   - ça ne passe PAS dans "styliser" pour fond="truc" !!
   - mais ça continue d'y passer pour tous les fond="aside/truc" etc !

Donc la question c'est : WTF concernant le cas où il y a un cache ?

Pourquoi cette incohérence suivant le type des squelettes, de parfois 
passer dans la fonction et parfois pas ?

Évidemment, en ce qui me concerne, je voudrais que ça y passe *toujours*.

Quelqu'un se rappelle-t-il donc pourquoi ça ne se comporte pas pareil 
partout ? Fil ? Cédric ? Matthieu ?

===

Et pour info, mon but final quand même :
- tester les infos sur "quelle page est demandée" AVANT toute direction 
vers un fichier squelette précis (donc public/styliser est normalement 
fait pour ça)
- ajouter des _chemin() au PATH si on est dans un ensemble de pages connues
- ce qui permet donc d'avoir squelettes et/ou thème différents pour un 
ensemble défini de pages (et donc une interface différente, un site dans 
le site)

Mon but était de modifier public/styliser pour proposer un nouveau 
pipeline "pre_styliser" (ou plutôt "trigger_pre_styliser" car ya rien à 
modifier en fait) avec toutes les infos disponibles mais AVANT que le 
noyau de SPIP cherche le squelette de base avec la méthode par défaut.

Et ça marche ! Sauf que ça ne marche que quand on est en mode "calcul". 
Dès qu'il y a des caches :
- ça continue de marcher pour les inclusions (inclure/head par exemple : 
j'ai donc des CSS différentes entre les pages classiques et ma liste de 
pages définies)
- ça ne marche plus pour le squelette racine fond="truc" : ça fait 404 
du coup

-- 
RastaPopoulos
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.