Désolé, ce mel concerne une amélioration (?) pour les versions post 1.4.
- J'ai modifié inc_public.php3 pour qu'il lise le chemin des squelettes
avant de charger/regénérer les pages.
(il faut utiliser la méta "chemin_squelettes").
- J'ai réécrit inc_meta.php3 pour qu'il utilise uniquement un fichier XML.
Pour la lecture du fichier xml j'utilise expat (SAX : Simple Api for XML).
oui, mais meta.xml est dans le répertoire écrire qui est protégé, non ?
Non, le répertoire ecrire/ n'est pas protégé. (Sauf dans les anciennes
versions de spip, où on utilisait .htaccess) ; les scripts présents dans
ecrire/ vérifient eux-mêmes que le client est authentifié (pour ce faire ils
appellent inc_auth.php3).
A faire :
- virer la table spip_meta
- ajouter la sélection du squelette depuis l'interface d'admin
Pourquoi ne pas définir un fichier xml qui décrit le squelette ?
Il permettrai d'échanger/archiver facilement ceux-ci.
Voici les champs qu'il pourrai contenir :
nom,
description (+langue),
auteur(s),
langue supportées,
vignette,
version(s) de spip supportées
Est-ce que ça existe pour les nuke-like ?
Dans les nuke-like c'est un repertoires "Thèmes" qui contient un repertoire
avec toutes les infos du thème :
- feuille CSS
- images
- fichier thème.php qui contient les définitions de fonctions graphiques
- etc.
Ensuite le nuke va lister ce qu'il trouve dans le répertoire Thèmes et
propose le choix parmi cette liste. L'avantage c'est que ça permet d'en
avoir plein en même temps pour tester.
Dans les nuke-like c'est un repertoires "Thèmes" qui contient un repertoire
avec toutes les infos du thème :
- feuille CSS
- images
- fichier thème.php qui contient les définitions de fonctions
graphiques
- etc.
Ensuite le nuke va lister ce qu'il trouve dans le répertoire Thèmes et
propose le choix parmi cette liste. L'avantage c'est que ça permet d'en
avoir plein en même temps pour tester.
Avec mes modifs, il est maintenant possible de faire ça.
Le fichier xml pour décrire un thème n'est pas nécessaire en soit, on peut
simplement mettre une image theme.png à la racine du squelette.
Mais ce que j'ai remarqué avec les squelettes spip, c'est qu'ils ne sont pas
forcément adaptés pour différentes versions de SPIP.
Surtout, ils sont TRES dépendants de la façon dont est géré le site sous
SPIP (utilisation ou non des chapeaux, utilisation du champ Post-scriptum de
façon détournée par exemple).
C'est pourquoi un fichier xml qui décrit au mieux un squelette me parait un
gros plus.
AARRRRG, ça ne marche pas avec les squelettes inclus.
En fait ça marche bien. 2 choses :
- dans inc-public.php, le "if" charge le squelette la première fois, et le
"else" charge tous les squelettes inclus (au fur et à mesure des appels)
Donc il faut "ajouter" le chemin au squelette dans les 2 cas
- la cause de mon mal de tête est que ce système marche bien uniquement avec
ma version XML des méta-données.
En tout cas ce que j'ai remarqué, c'est que pour que ça fonctionne, il faut
un champ #CHEMIN_SQUELETTE qu'on puisse appeler depuis les squelettes.
ça permettra d'appeler le "bon" CSS ainsi que de faire des includes
correctes.
J'ai fait les modifs dans "inc-calcul-squel.php3" :
- dans la fonction "parser", j'ai rajouté la définition de ce champ: