Code des caractéristiques des articles et des rubriques |
Plusieurs fonctionnalités du site sont basées sur la notion de caractéristique, pour les articles et les rubriques. Les utilisations de ce champ sont décrites dans les pages La zone "Comportements de l’article" et Administrateurs : les caractéristiques d’une rubrique.
Note : La version actuelle du site est basée sur spip 1.5.2 ; dans spip 1.7, les champs "extra" pourraient être utilisés à la place des caractéristiques.
Le code décrit dans cette page se trouve dans les squelettes, que vous pouvez télécharger : skel-monde-solidaire1.zip (242 Ko)
Le premier besoin rencontré a été de stocker des informations supplémentaires (les caractéristiques) au sein des articles. La zone de sous-titre a été utilisée.
Puis le même besoin s’est fait ressentir pour les rubriques ; ne trouvant pas de champ inutile dans spip_rubriques, les caractéristiques ont été incrustées dans le texte des rubriques.
Cela explique qu’il y ait deux syntaxes différentes :
Pour les articles, on met clé=valeur (ex : lang=en)
Pour les rubriques, on met clé = "valeur" (ex : lang="en"). Les caractéristiques des rubriques utilisent un langage à balise maison (une sorte de XML simplifié), dont l’interpréteur se trouve dans _siteFiles/meta/lib/tig/tigML.php (la doc. de tigML se trouve sur cette page). Les lignes "_PF7_charac" et "_PF7_/charac" qui encadrent les caractéristiques d’une rubrique sont des instructions tigML.
Dans les squelettes, on y accède par deux méthodes venant de _siteFiles/meta/php/mondeSolFunctions.php : getCharac() et getHeritableCharac(). Dans ces méthodes (voir le code), on indique si la caractéristique à récupérer est pour une rubrique ou un article, et on spécifie le nom de la caractéristique.
getCharac() va seulement chercher la caractéristique pour la rubrique ou l’article spécifié.
getHeritableCharac() va en plus vérifier si la caractéristique n’a pas été définie dans la hiérarchie des rubriques ; la première caractéristique trouvée, en montant dans la hiérarchie des rubriques, est retournée.
Les noms des caractéristiques sont paramétrés, et stockés dans la variable $OUR_GLOBALS, présente dans _siteFiles/meta/php/globals.php. _¨Par exemple, $OUR_GLOBALS["str_country"] = "pays"
Le calcul de certaines pages fait plusieurs fois appel aux mêmes caractéristiques. Donc chaque fois qu’une caractéristique est calculée, elle est mise en cache dans $OUR_GLOBALS.
Thierry
Création de l'article : 20 novembre 2003
Dernière mise à jour : 1er avril 2004
Page visitée 541 fois (2)
|
|
Discussion associée à l'article.
Cet article a suscité 1 messages sur son forum
Vous pouvez réagir à cet article ; le contenu n'est filtré ni par l'auteur de l'article, ni par le collectif, dans la limite du respect de certaines règles :
- pas de messages injurieux
- pas de message raciste, sexiste, xénophobe, homophobe, ...
- les messages trop longs pourront être supprimés : ce forum est une discussion sur l'article ; si vous voulez publier un texte conséquent, rendez-vous dans l'Espace rédacteurs et proposez un article ; si vous voulez publier un texte sans rapport avec cet article, trouvez un forum adapté ...
- de même, les messages se réduisant au copié-collé d'un article publié ailleurs seront supprimés ; les citations ne sont pas interdites, mais le forum est un espace d'expression personnelle.
Répondre à cet article
|
-
> Code des caractéristiques des articles et des rubriques
1er décembre 2003, par
spip_rubriques clé=valeur (ex : lang=en) mondeSol/meta/lib/tig/tigML.php (la doc. de tigML getHeritableCharac $OUR_GLOBALS, $OUR_GLOBALS["str_country"] = "pays"
Pour faire simple, un petit résumé du texte de thierry. Ce texte un peu mathématique et simplement la recette à vous appliquer afin de devenir Solidaire... Attention, une erreur dans le mélange peut provoquer des effets secondaires dangereux, style prise de carte à lump...
|