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 mondeSol/meta/lib/tig/tigML.php (la doc. de tigML se trouve sur cette page). Les lignes "@charac" et "@/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 mondeSol/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 mondeSol/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 : 23 novembre 2003
Page visitée 38 fois
|
|
Discussion associée à l'article.
Vous pouvez réagir à cet article ; le contenu n'est filtré ni par l'auteur de l'article, ni par le collectif.
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…
|